Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery检测div中的元素_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript 使用jQuery检测div中的元素

Javascript 使用jQuery检测div中的元素,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,根据您的经验,检测div中是否存在元素的最佳方法是什么 我目前正在使用这个: if (($('.parentDiv').width()) > 0){ //Do something } 必须有一种更优雅的方式 如果为空,则表示不包含文本节点: if ($('.parentDiv').contents().length){ //Do stuff } 或: .contents: 描述:获取匹配元素集中每个元素的子元素,包括文本和注释节点。 如果只关心元素而不关心文

根据您的经验,检测div中是否存在元素的最佳方法是什么

我目前正在使用这个:

if (($('.parentDiv').width()) > 0){
    //Do something
}

必须有一种更优雅的方式

如果为空,则表示不包含文本节点:

if ($('.parentDiv').contents().length){
    //Do stuff      
}
或:

.contents

描述:获取匹配元素集中每个元素的子元素,包括文本和注释节点。

如果只关心元素而不关心文本节点:

if ($('.parentDiv').children().length){
    //Do stuff      
}
使用
children()
函数

$('.parentDiv').children()

假设您只关心元素(而不关心文本节点),则可以检查元素是否有:


可能不是你想要的,但是考虑到你的需求至少有点混乱,你可以考虑是否有任何东西在容器内:元素、文本、任何东西。p> 假设您有一个空div:

<div class="parentDiv"></div>​
然后
$(“.parentDiv”).html().length
将指示其占用情况(在这些场景中分别返回1和11)


如果您希望只检查元素或特定元素,则可以选择
$(“.parentDiv”).children()

也只检查元素或文本?我只关注元素,而不是特定的文本节点。@Ollie。所以
.width()
被破坏了。。。如果
foo
OP要求检测元素而不是文本,则不会是0。你说得对,但请准确阅读我想要的内容,谢谢
if($('.parentDiv').children().length) {
    //Do stuff
}
if ( $( '.parentDiv' ).children().length > 0 )
{
     // do something
}
<div class="parentDiv"></div>​
<div class="parentDiv"> </div>​
<div class="parentDiv"><div></div></div>​