如何在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-"]')