我试图获取一个 bool 值,让我知道父元素是否有子元素。一些限制是:
- 可以有 x 个这样的“盒子”
- 检查并查看是否有任何框具有页脚元素
如果框没有页脚元素,请添加一个类
<div class="data-trend"> <header></header> <div class="main"></div> <footer></footer> </div>
<div class="data-trend"> <header></header> <div class="main"></div> <footer></footer> </div>
<div class="data-trend"> <header></header> <div class="main"> <span class="glyphicons"><span> <!-- On the glyphicons I would add class if there is no footer --> </div> <!-- notice no footer --> </div>
最佳答案
将上述评论移至实际答案中:
var elems = document.querySelectorAll('.data-trend'),
len = elems.length,
i = -1
while(++i < len) {
if(!elems[i].querySelector('footer')) elems[i].classList.add('no-footer')
}
.no-footer { border: 3px solid blue; }
<div class="data-trend">
<header>Testing</header>
<div class="main"></div>
<footer>Footer</footer>
</div>
<div class="data-trend">
<header>Testing</header>
<div class="main"></div>
<footer>Footer</footer>
</div>
<div class="data-trend">
<header>Testing</header>
<div class="main">
<span class="glyphicons"><span>
</div>
</div>
如果您在普通版本中做了很多这样的事情,那么为自己定义一个 forEach
辅助函数是有意义的
function forEach(elems, fn){
var len = elems.length,
i = -1
while(++i < len) {
fn(elems[i])
}
}
关于javascript - Vanilla JS 查找缺少子元素的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39024048/