我想在javascript中返回其父元素中没有类的元素。
例如,我想在以下代码片段中获得子类元素,即对于父元素没有“ parent”作为类:
<div>
<div class= "parent">
<div class="child">
Not to be selected
</div>
</div>
<div>
<div class="child">
To be selected
</div>
</div>
</div>
我试图通过量角器中的xpath返回它
答案 0 :(得分:4)
您可以使用:not
选择器。
console.log(document.querySelectorAll(':not(.parent) > .child'));
<div>
<div class= "parent">
<div class="child">
Not to be selected
</div>
</div>
<div>
<div class="child">
To be selected
</div>
</div>
</div>
答案 1 :(得分:3)
有几种方法可以做到这一点。您可以检查该班级是否在那里。
var elementList = [];
document.querySelectorAll("div.child").forEach(function(e) {
var parent = e.parentElement;
if(parent.classList == null || !parent.classList.contains("parent")) {
elementList.push(e);
}
})
console.log(elementList);
如果父类是特定的,则可以使用css:not属性
var elementList = document.querySelectorAll("div:not(.parent) > div.child");
console.log(elementList);