1

使用 .each() 时,有没有办法过滤它检查的元素?

目前,这就是我所拥有的:给定一个元素列表,我只想检查输入。

$.each (Items, function(i, item) {
    if (item.is("input"))
        (do something)
});
4

3 回答 3

4

是的,有一个名为的方法.filter()- 只需将其应用于您Items的迭代之前过滤集合:

$.each (Items.filter('input'), function(i, item) {
    // do something
});

另一种写法是.each直接在集合上调用(结果是一样的):

Items.filter('input').each(function(i, item) {
    // do something
});
于 2012-08-09T05:15:40.260 回答
1

使用if语句是可以的,或者你可以使用.filter方法。

Items.filter("input").each(function() {
 // do something
});
于 2012-08-09T05:16:28.520 回答
0

对于学习经验,关于您问题中的代码,您将如何处理它:

$.each(Items, function(i, item) {
    if($(this).is('input')) {
        // do something
    }
});​

演示:http: //jsfiddle.net/g6Jsr/

于 2012-08-09T05:30:39.793 回答