如何与QuerySelector进行第二次匹配?

Nic*_*its 21 javascript css-selectors selectors-api

以下语句为我提供了第一个具有泰坦尼克类的元素

element = document.querySelector('.titanic');
Run Code Online (Sandbox Code Playgroud)

我如何检索具有相同类的第二个元素?

Phi*_*hil 33

使用 document.querySelectorAll

document.querySelectorAll('.titanic')[1]
Run Code Online (Sandbox Code Playgroud)


Eze*_*wei 28

您不一定需要querySelectorAll选择第二个元素,问题是使用querySelectorAPI。您可以在选择器中利用 CSS 的强大功能。

例如你可以这样做:

document.querySelector('.titanic:nth-child(2)')
Run Code Online (Sandbox Code Playgroud)

选择第二个元素。注意:计数从 开始1,而不是0

  • 假设您有 4 个带有“泰坦尼克号”类的 div,并且您想使用 document.querySelector 选择带有“泰坦尼克号”类的第二个 div,并且绝对不是“泰坦尼克号”类的第二个子元素 (3认同)
  • 但这会按顺序返回它的孩子 (2认同)
  • 我的意思是你的代码 document.querySelector('.titanic:nth-child(2)') 将获得泰坦尼克号类的第 n 个子级。但要求的是我们需要获取具有相同类的第 n 个节点,就像 Phil 的答案中所示,但使用 document.querySelector() (2认同)