2010-01-17 60 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