[英]While-loop divs not reacting
我有一個使用while循環創建的div列表
while($row = mysql_fetch_array($result)){
$output = "<div id='drag'>$row[id] - $row[name] - $row['email']</div>";
echo $output;}
當我嘗試使這些div突出顯示幾秒鍾時。 只有第一個div似乎有反應。
$("#drag").effect("highlight", {}, 2000);
是否有任何策略可以以這種方式突出顯示所有輸出? 有沒有一種方法可以使某個div或多個div突出顯示?
根據定義,ID必須唯一。 您可以改用類。
while($row = mysql_fetch_array($result)){
$output = "<div class='drag'>$row[id] - $row[name] - $row['email']</div>";
echo $output;
}
然后...
$(".drag").effect("highlight", {}, 2000);
id用於賦予div唯一ID。 因此,在while循環中,您在循環中為所有div提供了相同的ID。 這就是為什么當您嘗試突出顯示時,它會影響第一格。
試試這個代碼:
while($row = mysql_fetch_array($result)){
$output = "<div class='drag'>$row[id] - $row[name] - $row['email']</div>";
echo $output;
}
之后將效果應用於該類拖動
$(".drag").effect("highlight", {}, 2000);
希望它能對您有所幫助:)
不允許在具有相同ID的頁面中使用多個項目,盡管它可能在某些用例中可行,但會在其他用例中引起問題(如您所見)。 通常,除非需要ID,否則您將要使用類。 我還建議您像使用id(即,更多元素)那樣更清楚地指定選擇器。
對於我自己的代碼,我傾向於將id用於頁面主體(即,它是哪個頁面)以及頁面上的不同元素(頁眉內容,主要內容,右欄內容,頁腳內容)。 我很少在其他任何地方使用id(盡管已經知道會發生這種情況)。
一旦將其切換到一個類,就可以輕松更改JS以執行類似的操作
$("div.drag").effect("highlight", {}, 2000);
如果可能的話,在div.drag路徑中添加更獨特的內容,以免影響到您在進行此操作時未考慮/編寫的頁面的其他部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.