2010-01-17 71 views
4

我需要獲得具有給定id的所有div,但jquery每個函數只獲取第一個。jquery每個div問題

例子:

<div id="#historial">some html code</div> 
<div id="#historial">some html code</div> 
<div id="#historial">some html code</div> 
<div id="#historial">some html code</div> 

腳本:

$("#historial").each(function() { 
alert("one div"); 
}); 

如果我通過一個錨o一個ID +錨EJ $( 「#拉拉一」),它的工作正常。

怎麼了?

BR

回答

13

您只能在頁面中爲一個元素使用特定的ID。改爲使用類別:

<div class="historial">some html code</div> 
<div class="historial">some html code</div> 
<div class="historial">some html code</div> 
<div class="historial">some html code</div> 

$(".historial").each(function(e) { 
    alert("one div"); 
}); 
+1

謝謝!我不知道,它的工作 – Santiago 2010-01-17 23:04:52

7

一個ID應該是唯一的,在頁面上應該只有一個具有特定ID的元素。

如果您需要將這些DIV分組,請使用'class'。

<div class="historial">some html code</div> 
<div class="historial">some html code</div> 
<div class="historial">some html code</div> 
<div class="historial">some html code</div> 

所以修訂了jQuery,查找與類 'historal' 每個DIV應該是這樣的:

$("div.historal").each(function() { 
    alert($(this).text()); //Prints out the text contained in this DIV 
}); 

此外,sidenote-的#使用的jQuery,而不是HTML markup-例如,如果你有一個DIV像

<div id="historal">stuff</div> 

,你會發現,使用jQuery這樣的:

$("#historal") 
+1

與其他答案類似,但也解釋了其他的事情。我的upvote – Anurag 2013-01-08 14:52:00