Javascript 如何使用QuerySelector获得第二个匹配项?

Javascript 如何使用QuerySelector获得第二个匹配项?,javascript,css-selectors,selectors-api,Javascript,Css Selectors,Selectors Api,下面的语句给出了泰坦尼克号的第一个元素 如何检索具有相同类的第二个元素?使用 选择第二个元素不一定需要querySelectorAll,问题是使用querySelectorAPI。您可以在选择器中利用CSS的强大功能 例如,您可以执行以下操作: document.querySelector('.titanic:nth-child(2)') 选择第二个元素。注意:计数从1开始,而不是0querySelectorAll返回集合而不是单个元素。结果以文档顺序返回,文档顺序被定义为深度优先顺序。这将起

下面的语句给出了泰坦尼克号的第一个元素

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

使用


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

例如,您可以执行以下操作:

document.querySelector('.titanic:nth-child(2)')

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

querySelectorAll
返回集合而不是单个元素。结果以文档顺序返回,文档顺序被定义为深度优先顺序。这将起作用。但这并不能让我直接改变它的值,只要读一下就行了。因为它是静态节点列表,而不是活动节点列表。而且,静态节点列表比实时节点列表花费更多的时间来生成。还有其他选择吗?@NickySmits您仍然可以对找到的元素进行更改。静态节点列表只是意味着当文档发生更改(添加/删除元素)时,它不会发生更改。但是我不能用静态节点更改innerHTML,而用活动节点可以更改它。@NickySmits那么你在做其他我不知道的事情-天哪!它确实有用!Thx兄弟。我做了完全相同的事情,但它不起作用,但显然这只是一些随机错误。嗯,这对我帮助很大。你可能知道有什么方法可以让这成为一个活的节点列表吗?
document.querySelectorAll('.titanic')[1]
document.querySelector('.titanic:nth-child(2)')