jQuery选择器vs每个

时间:2014-10-15 19:40:36

标签: javascript jquery

让我们说这两段代码 - 是相同的。还可以假设' .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())。

1 个答案:

答案 0 :(得分:1)

两段代码 不相同 。一个是对象的集合,另一个是通过对象集合的循环。您可以对影响所有的集合执行操作,您可以单独对集合中的每个对象执行操作。一旦调用each()函数,就可以个性化集合中的对象。

要回答您的问题,无法引用返回的对象集合,就像您正在循环并将不同的函数,计算或结果应用于集合中的每个项目一样。