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

如何获取带active类的DOM元素的data-field属性值

获取带active类的a标签对应data-field属性值的实现方案

给定的HTML代码片段如下:

<a class="sort-type active " data-type="desc" data-field="relevance" href="#" title="" target="_self">relevance</a>
<a class="sort-type " data-type="desc" data-field="most-viewed" href="#" title="" target="_self">most viewer</a>
<a class="sort-type " data-type="desc" data-field="high-price" href="#" title="" target="_self">high-price</a>

原生JavaScript实现

直接通过标准CSS选择器定位目标元素即可,不建议手动拆分class字符串做包含判断,很容易出现类名误匹配(比如类名带active-前缀的元素会被错误识别)的问题:

// 匹配第一个符合要求的a标签,读取data-field值
const targetField = document.querySelector('a.sort-type.active').dataset.field;
console.log(targetField); // 输出: relevance

如果页面中可能存在多个带active类的排序链接,用querySelectorAll遍历取值:

const allActiveLinks = document.querySelectorAll('a.sort-type.active');
allActiveLinks.forEach(link => {
  console.log(link.dataset.field);
})

jQuery实现

如果项目中已经引入了jQuery,可以用更简洁的写法实现:

// 读取第一个匹配元素的data-field值
const targetField = $('a.sort-type.active').data('field');
console.log(targetField); // 输出: relevance

// 遍历所有匹配元素取值
$('a.sort-type.active').each(function() {
  console.log($(this).data('field'));
})

注意:jQuery的data()方法读取的是内部缓存的data属性值,如果属性是页面渲染完成后动态修改的,用原生方法getAttribute('data-field')读取DOM上的实际属性值会更准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:01:20