如何使用jQuery获取所有ID?

我正在尝试收集一个部门中的ID列表(数组)

<div id="mydiv">

<span id='span1'>

<span id='span2'>

</div>

$("#mydiv").find("span");

给我一个jQuery对象,但不是一个真正的数组;

我可以

var array = jQuery.makeArray($("#mydiv").find("span"));

然后使用for循环将id属性放入另一个数组

或者我可以做

$("#mydiv").find("span").each(function(){}); //but i cannot really get the id and assign it to an array that is not with in the scope?(or can I)

无论如何,我只是想看看jQuery中是否有速记来做到这一点。

回答:

//但是我无法真正获取ID并将其分配给不在范围内的数组?(或者我可以)

是的你可以!

var IDs = [];

$("#mydiv").find("span").each(function(){ IDs.push(this.id); });

请注意,当您处于正确的轨道上时,Sighohwell和cletus都指出了使用属性过滤器(将匹配的元素限制为具有ID的元素)和jQuery的内置map()函数来完成此任务的更可靠,更简洁的方法:

var IDs = $("#mydiv span[id]")         // find spans with ID attribute

.map(function() { return this.id; }) // convert to set of IDs

.get(); // convert to instance of Array (optional)

以上是 如何使用jQuery获取所有ID? 的全部内容, 来源链接: utcz.com/qa/427211.html

回到顶部