jQuery每个元素

Ryr*_*yre 10 jquery

我很好奇为什么这段代码无效:

$.each( $("p") ).css("color", "green");
Run Code Online (Sandbox Code Playgroud)


虽然这段代码工作正常:

$.each($("p"), function() { $(this).css("color", "green") });
Run Code Online (Sandbox Code Playgroud)


是不是可以用每个元素链接元素?

Rob*_*b W 35

删除包装:

$("p").css("color", "green");
Run Code Online (Sandbox Code Playgroud)

如果要使用$.each,请将函数指定为第二个参数:

$("p").each(function() {
//Or: $.each( $("p"), function() {
   $(this).css("color", "green");
});
Run Code Online (Sandbox Code Playgroud)

jQuery方法自动返回集合的实例,因此仍然可以进行链接.

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

也可以看看:

  • 应该注意的是,`$ .each`用于`HTMLCollections`和其他本机JavaScript集合,而jQuery方法`$('.selector').each()`用于jQuery对象. (3认同)

小智 9

$.each()需要一个函数作为第二个参数.你只传过一个论点.

http://api.jquery.com/jquery.each/

jQuery.each(集合,回调(indexInArray,valueOfElement))

collection要迭代的对象或数组.

callback(indexInArray,valueOfElement)将在每个对象上执行的函数.


是的,它可以链接,因为$.each返回你正在迭代的集合.

$.each($("p"), function() { $(this).css("color", "green") }).addClass('test');
Run Code Online (Sandbox Code Playgroud)