Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取父元素不是类的元素_Javascript_Css_Xpath_Protractor_Element - Fatal编程技术网

Javascript 获取父元素不是类的元素

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"&

我想在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返回它,您可以使用选择器

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和量角器,但最后提到了一个问题。