我有一个HTML DOM对象,并选择具有以下属性的所有元素:data-reveal。遍历DOM树并检查是否有父类有
var revealList = doc.querySelectorAll('[data-reveal]');
我想遍历这些元素,并检查,如果有一个父级元素,有类笔记。只有当班级不在场时,我才想做点什么。
我已经使用了最接近的方法,在其他帖子中建议,但代码不返回任何东西。
for (var i = 0; i < revealList.length; i++) {
if (revealList[i].closest('[data-conceal]').length = 0) {
// do something
}
};
这是一个最小的HTML示例。
<div class="parent">
<div class="note">
<img data-reveal="2" href="">
<img data-reveal="3" href="">
<img data-reveal="4" href="">
</div>
<img data-reveal="5" href="">
<img data-reveal="6" href="">
</div>
也许是我如何选择if语句中的对象的错误?
侧面说明,= 0是一个赋值。另外,您应该避免纯属性查找。他们可能会超慢,因为他们必须检查范围中可用的每个dom元素,以查看它们是否匹配。尝试使用类或ID,或者在使用属性选择器之前选择元素的子集。 – Taplar