我有一个带有div,p和span标签的DOM结构。我想用子节点计算'p'标签,没有任何子节点。我在这个论坛上阅读了一个解决方案,但它对我不起作用:How to check if element has any children in Javascript?。 小提琴demo
$('#test').blur(function(){
var test= $('.check p').filter(function (){
if ($(this).childNodes.length > 0)
return this
});
alert(test.lenght)
})
答案 0 :(得分:1)
应该是
$('#test').blur(function(){
var test= $('.check p').filter(function (){
return this.childNodes.length > 0; // as HMR pointed out in the comments if you are looking for child elements then $(this).children().length will do
})
alert(test.length)
})
演示:Fiddle
答案 1 :(得分:1)
答案 2 :(得分:0)
此处:http://jsfiddle.net/QN3aM/9/
$('#test').blur(function () {
var test = $('.check p').filter(function () {
return ($(this).children().length)
});
alert(test.length);
})
你只需要在过滤器中返回true
,0是假值,其他任何东西都是真实的。你拼错了长度。
childNodes是元素的属性。当您将元素转换为jquery对象时,您必须使用jquery方法children()