让我们说这两段代码 - 是相同的。还可以假设' .selector'返回至少2个对象。
Snippet 1
$('.selector').myMethod();
Snippet 2
$('.selector').each(function(){
$(this).myMethod();
});
让我们为每一个选定的'返回的对象我想传递给myMethod()
包裹的对象。
所以 Snippet 2 可能会变成
$('.selector').each(function(){
$(this).myMethod({attribute: $(this).attr('id')});
});
如何使用 Snippet 1 (即不使用$.each()
)执行类似的操作?
由于显而易见的原因,这是不正确的
$('.selector').myMethod({attribute: $(this).attr('id')});
由于$(this)
不代表任何一个选定的'返回的对象。
编辑: Snippet 1 有没有办法将返回的对象引用为jQuery本身'循环'通过每个返回的对象并调用该方法。 (再次没有$.each()
)。
答案 0 :(得分:1)
两段代码 不相同 。一个是对象的集合,另一个是通过对象集合的循环。您可以对影响所有或的集合执行操作,您可以单独对集合中的每个对象执行操作。一旦调用each()
函数,就可以个性化集合中的对象。
要回答您的问题,无法引用返回的对象集合,就像您正在循环并将不同的函数,计算或结果应用于集合中的每个项目一样。