我尝试使用jquery $(this)选择器和元素的类来计算div中的子节点数.结果不同.我认为jquery是$(this)指函数的所有者对象,有什么特别的东西$(this)我错过了吗?
$('.parent').ready(function(){
$('.parent').children().length; // 6
$(this).children().length; // 1
});
Run Code Online (Sandbox Code Playgroud)
这个:
$('.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调用该函数时,将连续引用每个子节点.