首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >While-loop div没有反应

While-loop div没有反应
EN

Stack Overflow用户
提问于 2012-01-09 00:38:46
回答 3查看 136关注 0票数 1

我有一个使用while循环创建的div列表

代码语言:javascript
复制
while($row = mysql_fetch_array($result)){
$output = "<div id='drag'>$row[id] - $row[name] - $row['email']</div>";
echo $output;}

当我尝试将这些div高亮显示几秒钟时。似乎只有第一个div做出了反应。

代码语言:javascript
复制
$("#drag").effect("highlight", {}, 2000);

有没有什么策略可以让所有的输出都以这种方式突出显示?有没有办法让某个div或div高亮显示?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-09 00:41:19

根据定义,ID必须是唯一的。您可以使用类来代替。

代码语言:javascript
复制
while($row = mysql_fetch_array($result)){
    $output = "<div class='drag'>$row[id] - $row[name] - $row['email']</div>";
    echo $output;
}

然后..。

代码语言:javascript
复制
$(".drag").effect("highlight", {}, 2000);
票数 5
EN

Stack Overflow用户

发布于 2012-01-09 00:43:53

id用于提供div唯一的id。因此,在while循环中,您在循环中为所有div提供了相同的id。这就是为什么当你试图突出显示时,它会影响第一个div。

尝试以下代码:

代码语言:javascript
复制
while($row = mysql_fetch_array($result)){
    $output = "<div class='drag'>$row[id] - $row[name] - $row['email']</div>";
    echo $output;
}

在此之后,将效果应用于类拖动

代码语言:javascript
复制
$(".drag").effect("highlight", {}, 2000);

希望它能帮助您:)

票数 0
EN

Stack Overflow用户

发布于 2012-01-09 00:48:08

在一个页面中使用具有相同id的多个项目是不被允许的,尽管它可能在某些用例中有效,但在其他用例中会导致问题(如您所见)。通常,除非需要ids,否则您将希望使用类。我还建议你更清楚地指定选择器,而不是id (即更多的元素)。

对于我自己的代码,我倾向于使用页面主体的id (即,它是哪个页面)和页面上的不同元素(页眉内容、主要内容、右栏内容、页脚内容)。我很少在其他地方使用I(尽管已经知道会发生这种情况)。

一旦您将其切换到一个类,您就可以很容易地将JS更改为如下所示

代码语言:javascript
复制
$("div.drag").effect("highlight", {}, 2000);

如果可能的话,在div.drag路径中添加一些更独特的东西,这样你就不会影响页面的其他部分,这是你在工作时没有考虑/编写的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8779224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档