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

动态添加data属性后获取值返回undefined的原因排查

问题原因及解决

核心问题:元素选择器写错了

你写的$(".tab-btn").find(".active")是在找.tab-btn内部的子元素里带.active类的元素,但实际你要找的是本身同时拥有.tab-btn和.active类的元素,正确的选择器应该是$(".tab-btn.active")。

原错误代码:

pastActiveBtn = $(".tab-btn").find(".active");

修正后的代码:

pastActiveBtn = $(".tab-btn.active");

额外验证项

  • 先确认初始化阶段的$navigation确实包含了目标.tab-btn元素,不然data-tab-id根本没被加上。
  • 可以在浏览器控制台里查看目标元素的HTML,确认data-tab-id属性是否已经正确挂载到.tab-btn上。
  • jQuery的data()方法支持两种写法:data('tabId')或者data('tab-id'),只要元素上的属性存在,两种都能拿到值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:12:08