我有下一个代码:
<ul>
<li id="cat-12">
<span id="subcat-13">lorem</span>
<span id="subcat-43">ipsum</span>
</li>
<li id="cat-41">
<span id="subcat-22">lorem</span>
<span id="subcat-23">ipsum</span>
</li>
</ul>
如何选择所有<span />
ID?所以我得到一个数组:subcat-13,subcat-43,subcat-22,subcat-23?
提前谢谢!
答案 0 :(得分:7)
无需使用each
循环,而是使用map
(docs),如下所示:
var arr = $('ul li span').map(function(){
return $(this).attr('id');
});
答案 1 :(得分:2)
var array = new Array();
$('ul > li > span').each(function() {
array.push($(this).attr('id'));
});
答案 2 :(得分:1)
如果您想要一个只有ID的纯数组,您可以选择所有范围:
var span = $("ul li span");
然后用.each()
循环它们var span = $("ul li span"),
arr = [];
span.each(function() {
if(this.id) {
arr.push(this.id);
}
});