You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用原生JavaScript为最后一个display类元素添加last类?

为最后一个display类列表项添加高亮样式的原生JS实现

现有HTML结构

<input id="myinput" type="text">

<ul id="mylist">
    <li class="hide"><a href="#">Link 1</a></li>
    <li class="display"><a href="#">Link 2</a></li>
    <li class="hide"><a href="#">Link 3</a></li>
    <li class="display"><a href="#">Link 4</a></li>
    <li class="hide"><a href="#">Link 5</a></li>
</ul>

控制显示/隐藏的CSS样式

.display {
    display: block;
}
.hide {
    display: none;
}
.last {
    background-color: yellow;
}

实现需求:为最后一个display类元素添加last类

可以通过两种原生JS方式实现:

方法一:先获取所有符合条件的元素,再选取最后一个

// 获取列表中所有带display类的元素
const displayItems = document.querySelectorAll('#mylist .display');
// 确保存在符合条件的元素,再为最后一个添加last类
if (displayItems.length > 0) {
    const lastItem = displayItems[displayItems.length - 1];
    lastItem.classList.add('last');
}

方法二:直接用CSS选择器定位最后一个符合条件的元素

// 直接选中列表里最后一个带display类的li元素
const lastDisplayItem = document.querySelector('#mylist .display:last-of-type');
// 元素存在则添加类
if (lastDisplayItem) {
    lastDisplayItem.classList.add('last');
}

两种方法都能实现需求,方法二代码更简洁,利用CSS选择器直接定位目标元素;方法一兼容性更广(现代浏览器对:last-of-type的支持已很完善)。

内容的提问来源于stack exchange,提问作者tt2022

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 04:39:25