0

如果有人给我建议使用每个收集匹配的元素?

这是我试过的:

<ul>
<li class='options'></li>
<li></li>
<li class='options'></li>
<li></li>
<li class='options'></li>
<li class='options'></li>
</ul>​

var x = $();

x = (function(){
$.each($('li.options','ul'), function(i,e){
    return e;
})
    })()

    console.log(x)//i am getting undefined.

这是jsfiddle

我如何收集匹配的元素?

4

3 回答 3

1

发生这种情况是因为您仅在迭代每个函数内部返回,但在外部匿名函数中没有。它应该是这样的:

var x = (function(){
    var elements = [];
    $.each($('li.options','ul'), function(i,e){
        elements.push(e);
    })
    return elements;
})();
console.log(x);
于 2012-12-05T11:34:00.473 回答
0

Jquery 选择器本身会将匹配的元素作为集合返回

 $('ul > li.options')

谢谢

于 2012-12-05T11:30:15.167 回答
0

如果您尝试获取选项值,我可能会这样做。如果你想比较它们,你可以简单地将它们放在比较数组中,具体取决于你的最终目标是什么(在这种情况下不完全确定你的意思是匹配)

$('.options').each(function() {
  console.log($(this).html());
});
于 2012-12-05T11:32:37.013 回答