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

标签 javascript html css

如果我的父 div 有一个仅使用 JavaScript 没有 jQuery 的子 div,我需要显示警报。

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

<script type="text/javascript">
  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>

应该有一个带有消息 yes 的警告框,但它不可见。我也试过只使用 alert() 方法检查 JavaScript,没有任何代码。

最佳答案

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

<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>
    
<script type="text/javascript">
  var parentDiv = document.getElementById("commentBox");
  var childDiv = document.getElementById("comment1");
  if (parentDiv.contains(childDiv)) {
    alert("yes");
  }
  else{
    alert("no");
  }

</script>

或:DOMContentLoaded 包装代码这将确保只有在 DOM 完全加载后才会执行放置在其中的代码:

<script type="text/javascript">
  document.addEventListener("DOMContentLoaded", function(event) {
    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>

关于javascript - 如何检查一个 div 是否包含另一个 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54019699/

相关文章:

javascript - 当两个条件不满足时禁用发送按钮在 ember.js 中不起作用

javascript - Kendo UI - 模板化复选框列表并将检查绑定(bind)到 viewModel

javascript - 与 goinstant 共享屏幕

javascript - 无法更改 Google 图表工具的背景

javascript - 试图复制页面的 css/javascript

javascript - 通过单击关闭模式弹出窗口

html - 使用 Safari/Chrome/FF 处理文本上的填充

javascript - 更改父类时更改子类的CSS属性

html - 如何使用CSS使嵌套表格匹配父级的宽度

Html - 两个垂直 div 并排 100% 高度滚动背景未完全显示