jQuery每个元素
我很好奇为什么这个代码是无效的:jQuery每个元素,jquery,Jquery,我很好奇为什么这个代码是无效的: $.each( $("p") ).css("color", "green"); 虽然此代码工作正常: $.each($("p"), function() { $(this).css("color", "green") }); 无法将元素与每个元素链接起来吗?$。每个都需要两个参数,第二个参数是对每个元素执行一次的回调。如果不传递回调参数,$。每个都不起作用 另外,$。每个都返回它所迭代的对象,因此链接与返回jQuery对象的方法不同。删除包装器: $("
$.each( $("p") ).css("color", "green");
虽然此代码工作正常:
$.each($("p"), function() { $(this).css("color", "green") });
无法将元素与每个元素链接起来吗?
$。每个
都需要两个参数,第二个参数是对每个元素执行一次的回调。如果不传递回调参数,$。每个
都不起作用
另外,$。每个
都返回它所迭代的对象,因此链接与返回jQuery对象的方法不同。删除包装器:
$("p").css("color", "green");
如果要使用$。每个,请指定一个函数作为第二个参数:
$("p").each(function() {
//Or: $.each( $("p"), function() {
$(this).css("color", "green");
});
jQuery方法自动返回集合的一个实例,因此仍然可以进行链接
演示:
另见:
- jQuery文档-
- jQuery文档-
$。each()
需要一个函数作为第二个参数。你只通过了一次辩论
each(集合、回调(indexInArray、valueOfElement))
集合要迭代的对象或数组
回调(indexInArray,valueOfElement)将在每个对象上执行的函数
是的,可以链接,因为$。每个返回您正在迭代的集合
$.each($("p"), function() { $(this).css("color", "green") }).addClass('test');
请注意,每个
不需要任何版本的
,就可以达到(最有可能的)预期效果
$("p").css("color", "green");
做这项工作。你能举一个链接每个的例子吗?@Toast:更新了一个例子。@Toast。我希望你是对的,但我的回答是错的。请参阅jsfiddle应该注意的是$。每个用于HTMLCollections
和其他本机JavaScript集合,而jQuery方法$('.selector')。每个()
用于jQuery对象。不,不可能这样。以下是关于这一点的现有SO讨论: