你可以像 if($('.div').find('.someelem').length == 0
.. 检查 .someelem 在 div 中是否可用,
但是如果我想检查任何元素怎么办?我不知道里面的类(class)是什么。
<div>
</div>
^ 检查上面的 div 是否包含某些东西。
最佳答案
更快的方法是使用 .find()
因为它不会触发有点昂贵的 jQuery 的 Sizzle 选择器库:
if( !$(".div").find(">")[0] ){
// Maybe has text, but has absolutely no children Elements.
}
如果您想更具体地选择您的选择器,而不是使用 ">"
(任何 直接子级),您可以使用 "div"
以及,将您的搜索限制为仅 DIV
元素。
您还可以检查“if is empty”
$(".div:empty").someMethodYouWant(); // Do some stuff on empty elements. (Really empty)
或
if( $(".div").is(":empty") ){
// Has no elements and no text
}
请注意,如果您只有一些文本(意味着它不是空的),上面的代码将产生 false
。
如果你更想使用直接子元素 >
元素
if( !$(".div:has(>)").length ){
// Maybe has text, but has absolutely no children Elements.
}
或者还有:
if( !$(".div:has(>)")[0] ){
// Maybe has text, but has absolutely no children Elements.
}
或者更简单:
if( !$(".div >")[0] ){
// Maybe has text, but has absolutely no children Elements.
}
关于javascript - 使用 jquery 检查元素内部有一些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29202132/