首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在带有DOM的列表中选择项的最后一个元素

在带有DOM的列表中选择项的最后一个元素
EN

Stack Overflow用户
提问于 2020-01-07 06:07:02
回答 3查看 4.1K关注 0票数 0

不使用jQuery (因为我还没有开始这个部分),仅仅使用一些好的旧JavaScript/DOM,我如何在列表中选择项目的最后一个元素。

例如,我有以下HTML:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<section id="container">
  <ul>
    <li class="first">one</li>
    <li class="second">two</li>
    <li class="third">three</li>
  </ul>
  <ol>
    <li class="first">one</li>
    <li class="second">two</li>
    <li class="third">three</li>
  </ol>
</section>

我希望选择这个项目并在DOM:<li class="third">three</li>中从ol列表中返回它。据我所知,document.querySelector只选择文档中的第一个元素,即document.querySelector('li.third')。我将如何做相反的选择最后一个?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-01-07 06:18:54

为了得到你的项目,你需要正确地选择。这意味着当您要选择.third时,需要进行特定的操作。

选择#container -> ol -> ( li:last-childli.third)的序列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
document.querySelector("#container > ol > li.third");
票数 1
EN

Stack Overflow用户

发布于 2020-01-07 06:11:09

如果有混合子元素,则可以使用*:last-child

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
console.log(document.querySelector('#container *:last-child .third').textContent);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<section id="container">
  <ul>
    <li class="first">one</li>
    <li class="second">two</li>
    <li class="third">three</li>
  </ul>
  <ol>
    <li class="first">one</li>
    <li class="second">two</li>
    <li class="third">three (here)</li>
  </ol>
</section>

您还可以通过以下两种方法之一抓取最后一个孩子:

  • #container *:last-child li:last-of-type or
  • #container *:last-child li:last-child
票数 4
EN

Stack Overflow用户

发布于 2020-01-07 06:14:20

你可以使用document.querySelector('ol li:最后一个孩子‘)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59630017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文