簡體   English   中英

While循環div沒有反應

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM