如果div不包含给定类的元素,请执行一些代码

时间:2018-08-24 10:22:43

标签: javascript jquery

我需要创建一个if条件,该条件将检查.st-footer--navigation元素是否不包含div .st--footer-column。如何用JS代码编写?

let groups = document.getElementsByClassName("st-footer--navigation")

if (...) {
  for (let i of groups) {
    let childrens = i.children;
    let stFooterColumn = document.createElement("div");

    stFooterColumn.classList.add("st--footer-column");

    while (childrens.length) {
      stFooterColumn.appendChild(childrens[0])
    }

    i.appendChild(stFooterColumn)
  }
}

1 个答案:

答案 0 :(得分:1)

您可以使用querySelectorAll

if(!document.querySelectorAll(".st-footer--navigation div.st--footer-column").length)

情况1:当元素.st-footer--navigation包含类.st--footer-column的div时

 if(!document.querySelectorAll(".st-footer--navigation div.st--footer-column").length) {
  console.log("if executed");
 } else {
  console.log("else executed"); // else will be executed
 }
<div class="st-footer--navigation">
  <div class="st--footer-column">

  </div>
</div>

情况2:当元素.st-footer--navigation不具有类.st--footer-column的div时

if(!document.querySelectorAll(".st-footer--navigation div.st--footer-column").length) {
  console.log("if executed");  // if will be executed
 } else {
  console.log("else executed");
 }
<div class="st-footer--navigation">

</div>