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

我试图在jQuery中select所有具有相同ID的<div> 。 我该怎么做?

我试了这个,但没有奏效

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

我会使用不同的ID,但分配每个DIV相同的类。

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

这还具有能够基于jQuery('。countdown')的返回来重buildID的附加好处。


好的,如何为每个倒数计时器添加多个类。 IE:

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

这样你就能得到两全其美的好处。 它甚至允许重复“IDS”

尽pipe这里还有其他正确的答案(比如使用类),但从学术angular度来看,当然可以有多个具有相同ID的div,并且可以用jQuery来select它们。

当你使用

 jQuery("#elemid") 

它只select具有给定ID的第一个元素。

但是,当你通过属性select(例如在你的情况下的id ),它会返回所有匹配的元素,如下所示:

 jQuery("[id=elemid]") 

这当然适用于任何属性的select,您可以通过指定问题标签(例如div )来进一步优化您的select。

 jQuery("div[id=elemid]") 

您的文档不应包含具有相同ID的两个div。 这是无效的HTML ,因此,底层的DOM API不支持它。

从HTML标准 :

id = name [CS]此属性为元素分配一个名称。 该名称在文档中必须是唯一的。

您可以为每个div分配不同的ID并使用$('#id1, #id2)select它们。 或者为这两个元素(例如.cls )分配相同的类,并使用$('.cls')来select它们。

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

你可以分配一个独特的CSS类到每个不同的计时器? 这样你可以使用CSS类的select器,这将适用于多个div元素。

你也可以尝试用两个独立的ID来包装两个div。 然后select由$("#div1","#wraper1")$("#div1","#wraper2")

干得好:

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

试试这个selectdiv的第一个ID

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