JavaScript querySelectorAll()

时间:2018-04-18 18:23:48

标签: javascript

编写.querySelectorAll()代码,以查找属于具有该类的元素后代的所有段落元素:articles

找到所有这些元素的代码是什么?我试过

document.querySelectorAll("p>.articles")

并且它不起作用。

4 个答案:

答案 0 :(得分:3)

p>.articles表示:&#34;获取.articles&#34;的直接子女的所有<p>

反转您的查询并移除直接选择器:.articles p

&#13;
&#13;
console.log(document.querySelectorAll(".article p").length);
&#13;
<div class="article">
  <p>Foo</p>
  <p>Foo</p>
  <p>Foo</p>
  <p>Foo</p>
  <p>Foo</p>
  <p>Foo</p>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果你试图得到文章的所有段落后代,那将是

document.querySelectorAll(".articles p");

答案 2 :(得分:0)

反过来,不是p>.articles,而是.articles p

<div class="articles">
  <p>hi</p>
  <p>hi</p>
  <p>hi</p>
</div>

<div class="articles">
  <p>hi</p>
  <p>hi</p>
  <p>hi</p>
</div>

const paras = document.querySelectorAll(".articles p");
console.log(paras);
// NodeList [ p, p, p, p, p, p ]

>选择器也只会选择直接后代,因此您可能需要或不需要它,具体取决于您要完成的任务。

参考:CSS '>' selector; what is it?

答案 3 :(得分:0)

https://www.w3schools.com/css/css_combinators.asp

后代选择器匹配指定元素的所有后代元素。您可以在元素之间使用空格。

答案是:document.querySelectorAll('.articles p');