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

如何获取未设置style="display:none;"的列表项元素的索引

查找未设置style="display:none;"的列表项索引

这里有几种实用的方法可以帮你定位目标列表项的索引:

方法一:原生JavaScript实现

不需要依赖任何外部库,直接用浏览器内置API就能搞定:

// 获取目标有序列表元素
const targetList = document.querySelector('ol');
// 获取列表下所有的li元素
const allItems = targetList.querySelectorAll('li');
// 用来存储可见列表项的索引
const visibleIndices = [];

// 遍历所有列表项
allItems.forEach((item, index) => {
  // 检查当前项的内联样式是否不是display:none
  if (item.style.display !== 'none') {
    visibleIndices.push(index); // 这里是0起始的索引,若需要1起始可改为index + 1
  }
});

console.log('可见列表项的索引:', visibleIndices); // 针对你的示例,输出结果为 [1]

方法二:jQuery实现(若项目已引入jQuery)

如果你的项目正在使用jQuery,可以用更简洁的写法:

// 筛选出没有display:none内联样式的li,再提取它们的索引
const visibleIndices = $('ol li').not('[style*="display:none"]').map(function() {
  return $(this).index(); // 0起始索引,需要1起始的话加1即可
}).get();

console.log(visibleIndices); // 示例中输出 [1]

小提示

  • 上述代码返回的是相对于父级ol的索引,如果需要的是整个页面中的全局DOM索引,逻辑需要稍作调整。
  • 如果隐藏样式是通过类名而非内联style设置的,可以把判断条件改成检查类名,比如!item.classList.contains('your-hidden-class')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 12:04:08