jQuery each div问题

4
我需要获取所有给定id的div,但是jquery each函数只能获取第一个。
例如:
<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");
});

如果我传递一个锚点或一个id + 锚点ej $(“#lala a”),它可以正常工作。
有什么问题吗?
BR
2个回答

13

在页面中,每个元素只能使用一个特定的id。使用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>

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

6

一个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,查找每个class为“historal”的DIV将如下所示:
$("div.historal").each(function() {
    alert($(this).text());    //Prints out the text contained in this DIV
});

此外,顺便提一下- # 是由jQuery使用的,而不是HTML标记-例如,如果您有一个像DIV这样的元素:
<div id="historal">stuff</div>

你会发现使用jQuery的方法如下:

你可以像这样使用jQuery:

$("#historal")

1
类似于其他答案..但也解释了其他事情。我点赞了。 - Anurag

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接