使用jQuery在<ul>内的<li>中选择<span> </ul> </li> </span>

时间:2011-09-08 08:44:35

标签: jquery

我有下一个代码:

<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?

提前谢谢!

3 个答案:

答案 0 :(得分:7)

无需使用each循环,而是使用map docs,如下所示:

var arr = $('ul li span').map(function(){
   return $(this).attr('id');
});

实例:http://jsfiddle.net/qdAnx/

答案 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);
    }
});