使用 .each() 时,有没有办法过滤它检查的元素?
目前,这就是我所拥有的:给定一个元素列表,我只想检查输入。
$.each (Items, function(i, item) { if (item.is("input")) (do something) });
使用 .each() 时,有没有办法过滤它检查的元素?
目前,这就是我所拥有的:给定一个元素列表,我只想检查输入。
$.each (Items, function(i, item) { if (item.is("input")) (do something) });
是的,有一个名为的方法.filter()
- 只需将其应用于您Items
的迭代之前过滤集合:
$.each (Items.filter('input'), function(i, item) {
// do something
});
另一种写法是.each
直接在集合上调用(结果是一样的):
Items.filter('input').each(function(i, item) {
// do something
});
使用if
语句是可以的,或者你可以使用.filter
方法。
Items.filter("input").each(function() {
// do something
});
对于学习经验,关于您问题中的代码,您将如何处理它:
$.each(Items, function(i, item) {
if($(this).is('input')) {
// do something
}
});
演示:http: //jsfiddle.net/g6Jsr/