<div class="post-content">
<p>xxxxx</p>
</div>
<div class="post-content">
<p>Test1</p>
<p>Test2</p>
<p>Test3</p>
</div>
$(document).ready(function () {
$('.post-content').each(function () {
//alert($(this).children.length);
alert($(this).length);
console.log($(this).html());
});
});
长度应该是内容后的p个孩子的数量。为什么输出不正确?
在这种情况下为1和3
答案 0 :(得分:1)
children
是方法,你必须称之为:
alert($(this).children().length);
// call the method ^^
更新了DEMO
$(this).length
将始终返回1
,因为this
是一个DOM元素,$(this)
会创建一个包含一个元素的选择。
答案 1 :(得分:0)
$(document).ready(function () {
$('.post-content').each(function () {
var count = $(this).children().length;
alert(count);
});
});
<小时/> 仅查找子
p
长度
var count = $(this).children('p').length;
<小时/> 如果你想包括孙子孙女,也可以使用
.find()
alert($(this).length);
指DOM元素,因此长度始终为1
使用$(this).children().length
答案 2 :(得分:0)
因为context(this)是一个jQuery对象,而不是
$(this).length
您可以使用
$(this).children().length