如何在jQuery中选择具有特定ID的所有元素?

如何在jQuery中选择具有特定ID的所有元素?,jquery,css-selectors,Jquery,Css Selectors,我试图在jQuery中选择具有相同ID的所有。我该怎么做 我试过了,但没用 jQuery('#xx').each(function(ind,obj){ //do stuff; }); 您的文档不应包含具有相同id的两个div。这是,因此,基础DOM API不支持它 从: id=此属性指定的名称[CS] 元素的名称。这个名字必须是 在文档中必须是唯一的 您可以为每个div分配不同的id,并使用$'id1,id2选择它们。或者将相同的类分配给这两个元素。例如,使用$'.cls'选择它们

我试图在jQuery中选择具有相同ID的所有。我该怎么做

我试过了,但没用

jQuery('#xx').each(function(ind,obj){
      //do stuff;
});

您的文档不应包含具有相同id的两个div。这是,因此,基础DOM API不支持它

从:

id=此属性指定的名称[CS] 元素的名称。这个名字必须是 在文档中必须是唯一的


您可以为每个div分配不同的id,并使用$'id1,id2选择它们。或者将相同的类分配给这两个元素。例如,使用$'.cls'选择它们。

能否为每个不同的计时器分配一个唯一的CSS类?这样,您就可以使用CSS类的选择器,它可以很好地处理多个div元素。

我将使用不同的ID,但为每个div分配相同的类

<div id="c-1" class="countdown"></div>
<div id="c-2" class="countdown"></div>
这还有一个额外的好处,即能够根据jQuery“.countdown”length的返回来重构ID

好的,我们给每个倒计时计时器添加多个类怎么样。即:

<div class="countdown c-1"></div>
<div class="countdown c-2"></div>
<div class="countdown c-1"></div>

这样你就能两全其美。它甚至允许重复“id”

您也可以尝试使用唯一的id将两个div包装成两个div。然后按$div1,wraper1和$div1,wraper2选择div

给你:

<div id="wraper1">
<div id="div1">
</div>
<div id="wraper2">
<div id="div1">
</div>

尽管这里还有其他正确答案,比如使用类,但从学术角度来看,当然可以使用相同ID的多个div,并且可以使用jQuery选择它们

当你使用

jQuery("#elemid") 
它仅选择具有给定ID的第一个元素

但是,当您在案例中选择“按属性”(例如id)时,它将返回所有匹配的元素,如下所示:

jQuery("[id=elemid]") 
这当然适用于任何属性的选择,您可以通过指定有问题的标记(例如,在您的案例中的div)来进一步细化您的选择

jQuery("div[id=elemid]") 

尝试使用此选项按第一个id选择div

$('div[id^="c-"]')


$div[id^=+controlid+]将返回具有相同名称的所有控件,但您需要确保文本不应出现在任何控件中

Ballascian:我有n个id为1..n的计数器,因此对于每个计数器,我都有id=c-1、id=c-2等。但其中一些计数器会重复。所以我不能用你的方法。他们都有同样的class='倒计时'谢谢你为什么要重复?特别是身份证必须是独一无二的。巴拉萨基安:谢谢!太棒了!像我想要的那样工作!!不知道为什么我以前没有想到这一点!重要的是要有一个假设前提的完整答案,而不是一个变通方法。即使你认为先决条件不是最优的,它们通常是给定的,就像为一个现有的网站编写一个使用id标签的Greasemonkey脚本。这不应该是公认的答案。例如,在一些情况下,greasemonkey脚本无法控制html,而且肯定有一些站点多次使用相同的id。paul,不,我不能为每个计时器使用唯一的类,因为我使用该类选择所有计时器,初始化倒计时计时器并设置其样式。html类。人们使用类几乎完全是为了匹配CSS选择器,这并不意味着它们是另一种语言的一部分。还应该注意的是,大多数底层的getElementById函数jQuery和其他库最终都会调用来执行实际搜索,拒绝返回除第一个或random之外的任何内容?元素匹配给定ID并支持它意味着手动遍历DOM。只是不值得为无效的标记!关于这篇文章:有趣的是,有一个javascript函数getElementsByNamexxx-注意复数形式-这意味着拥有多个同名元素是完全合法的…@Jimbo-是的,但我的答案是关于具有相同id的元素,而不是名称。@Jimbo-是的,无线电组取决于该功能。但并非所有元素都可以有名称。问题提到了div,它们没有name属性。id应该是唯一的。使用类。每个人都知道,这里没有人回答他的问题。不是每个人都可以有唯一的ID,至少我不能总是这样。好吧,@mydoghasworms[回答][1]这个问题很好,切中要害。[1] :你是唯一一个回答问题的人。至少有人知道如何在jQuery中做真正的事情。。。天哪!我很想知道这一点,其他的都不行。我根本不能采取其他人使用类的方法,我已经有了它来做不同的工作。欢迎@mydoghasworms!!这是正确的答案,应该被接受,+1美丽而简单。谢谢。我正要说:这里有很多建议,但没有答案。幸运的是,你回答正确,我认为这应该是一个可以接受的方法,即使@Ballsacian1建议的方法可以很好地避免问题。