jQuery - 用$(this)选择子项

Kha*_*yen 3 javascript jquery

我尝试使用jquery $(this)选择器和元素的类来计算div中的子节点数.结果不同.我认为jquery是$(this)指函数的所有者对象,有什么特别的东西$(this)我错过了吗?

$('.parent').ready(function(){
        $('.parent').children().length; // 6
        $(this).children().length; // 1
});
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 5

这个:

    $('.parent').children().length; // 6
Run Code Online (Sandbox Code Playgroud)

是正确的方法.这个:

    $(this).children().each(function().length; // 1
Run Code Online (Sandbox Code Playgroud)

是语法错误.如果你真的想要遍历孩子,你可以使用".each()",但你必须正确地做到这一点:

    $(this).children().each(function() {
      var $child = $(this);
      // ...
    });
Run Code Online (Sandbox Code Playgroud)

请注意,在".each()"回调中,this当jQuery调用该函数时,将连续引用每个子节点.