Javascript 如何检查一个div是否包含另一个div?

Javascript 如何检查一个div是否包含另一个div?,javascript,html,css,Javascript,Html,Css,我需要显示警报,如果我的父div有一个子div,只使用JavaScript而不使用jQuery 我尝试使用contains()函数检查我的div并发送警报,但它不起作用 var parentDiv=document.getElementById(“commentBox”); var childDiv=document.getElementById(“comment1”); if(parentDiv.contains(childDiv)){ 警惕(“是”); }否则 { 警告(“否”); }

我需要显示警报,如果我的父div有一个子div,只使用JavaScript而不使用jQuery

我尝试使用
contains()
函数检查我的div并发送警报,但它不起作用


var parentDiv=document.getElementById(“commentBox”);
var childDiv=document.getElementById(“comment1”);
if(parentDiv.contains(childDiv)){
警惕(“是”);
}否则
{
警告(“否”);
}
詹姆斯

始终可用,始终提供帮助,这对与他合作的团队来说也是一样的-定义我们的第一个电话


在DOM完全加载之前,您的代码正在运行。将脚本移动到页面底部:


詹姆斯

始终可用,始终提供帮助,这对与他合作的团队来说也是一样的-定义我们的第一个电话

var parentDiv=document.getElementById(“commentBox”); var childDiv=document.getElementById(“comment1”); if(parentDiv.contains(childDiv)){ 警惕(“是”); } 否则{ 警告(“否”); }
确保在执行javascript代码之前加载了整个DOM。 您可以通过将事件侦听器
DOMContentLoaded
添加到代码中或将脚本放在文件末尾来完成此操作


document.addEventListener('DOMContentLoaded',function(){
var parentDiv=document.getElementById(“commentBox”);
var childDiv=document.getElementById(“comment1”);
if(parentDiv&&parentDiv.contains(childDiv)){
警惕(“是”);
}
否则{
警告(“否”);
}
},假);
詹姆斯

始终可用,始终提供帮助,这对与他合作的团队来说也是一样的-定义我们的第一个电话


如何使用
窗口.onload
功能

<script>
    window.onload = function() {
        var parentDiv = document.getElementById("commentBox");
        var childDiv = document.getElementById("comment1");
        if (parentDiv.contains(childDiv)) {
            alert("yes");
        } else {
            alert("no");
        }
    }
</script>

window.onload=函数(){
var parentDiv=document.getElementById(“commentBox”);
var childDiv=document.getElementById(“comment1”);
if(parentDiv.contains(childDiv)){
警惕(“是”);
}否则{
警告(“否”);
}
}

<script>
    window.onload = function() {
        var parentDiv = document.getElementById("commentBox");
        var childDiv = document.getElementById("comment1");
        if (parentDiv.contains(childDiv)) {
            alert("yes");
        } else {
            alert("no");
        }
    }
</script>
<div class="row leftpad collapse" id="commentBox">
    <div id="comment1">
        <div class="col-md-3 dir-rat-left"> <i class="fa fa-user-circle" aria-hidden="true"></i>
            <h6>James </h6>
        </div>
        <div class="col-md-9 dir-rat-right">
            <p class="removemarg">always available, always helpfull that goes the same for his team that work with him - definatley our first phone call.</p>
        </div>
    </div>
</div>

window.onload=函数(){
var parentDiv=document.getElementById(“commentBox”);
var childDiv=document.getElementById(“comment1”);
if(parentDiv.contains(childDiv)){
警惕(“是”);
}否则{
警告(“否”);
}
}
詹姆斯

始终可用,始终提供帮助,这对与他合作的团队来说也是一样的-定义我们的第一个电话


您可以使用
querySelector
。如果子级不存在,它将给出一个空值

var hasChildDiv=document.getElementById(“commentBox”).querySelector(“comment1”);
if(hasChildDiv!==null){
警报(“是”)
}

詹姆斯

始终可用,始终提供帮助,这对与他合作的团队来说也是一样的-定义我们的第一个电话


如果我想将此脚本添加到另一个文件中,然后添加到头文件中,该怎么办???@Franco,尝试第二种解决方案并在当前页面中添加该文件的链接。是否确实要使用
(function(){}())
将处理程序附加到DOM ready?