Javascript 获取父元素不是类的元素
我想在javascript中返回一个在其父元素中没有类的元素 例如,我希望在以下代码段中获得父元素的类不包含“parent”的子类元素:Javascript 获取父元素不是类的元素,javascript,css,xpath,protractor,element,Javascript,Css,Xpath,Protractor,Element,我想在javascript中返回一个在其父元素中没有类的元素 例如,我希望在以下代码段中获得父元素的类不包含“parent”的子类元素: <div> <div class= "parent"> <div class="child"> Not to be selected </div> </div> <div> <div class="child"&
<div>
<div class= "parent">
<div class="child">
Not to be selected
</div>
</div>
<div>
<div class="child">
To be selected
</div>
</div>
</div>
不可选择
待选
我试图通过量角器中的xpath返回它,您可以使用选择器
console.log(document.querySelectorAll(':not(.parent)>.child')代码>
不可选择
待选
有几种方法可以做到这一点。要么你检查班级是否在那里
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);
“我想在下面的代码片段中获取子类元素…”该标记中有三个这样的子元素(两个没有类,一个有class=“child”
)。你想要哪一个?或者你的意思是你只想看看那些不在class=“child”
范围内的class=“parent”
?请提供你尝试过的JavaScript。请澄清使用DOM的JavaScript答案是否相关。您提到了xpath和量角器,但最后提到了一个问题。