火次果
火次果

暂无菜单项

首页/文章/技术文章/web前端/HTML5/
打开 MD 链接

data-* 自定义属性的正确命名与读写规范

发布于 1天前
7

📌 自定义数据属性以 data- 前缀开头,是 HTML 全局属性里最常被误用的一项。规范对命名有硬性约束。

命名规则:仅允许小写字母、数字与连字符,不能以数字开头,不能含大写字母或下划线。写成 data-user_id 或 data-UserName 均不合法,浏览器虽不报错,但 JS 无法按预期映射。

data 属性代码示意
data-* 属性写在标签上,供脚本读取

JS 侧通过 element.dataset 访问,连字符自动转驼峰:data-user-id 对应 dataset.userId。⚠️ 返回值恒为字符串,数字需自行转换。修改值要用 setAttribute('data-x', v),直接赋值 dataset.x = v 虽可行,但批量同步易出错。

其余注意点:data-* 不能用于状态管理,它不是响应式数据源;敏感信息切勿塞进 data-*,源码中明文可见。

常见问题(FAQ)

data-* 能用下划线吗
不能。规范仅允许小写字母、数字、连字符,下划线不会被 dataset 映射,取值会落空。
大写字母会怎样
data-UserName 中的大写不会转驼峰,JS 侧访问不到预期字段,命名须全小写加连字符。
dataset 返回的是什么类型
恒为字符串。数值比较或计算前需用 Number() 转换,否则会触发字符串拼接。
能用 data-* 存状态吗
不适合。data-* 是静态属性快照,不是响应式状态源,状态应交由框架或脚本管理。
敏感数据能放 data-* 吗
不能。页面源码明文可读,凭据或隐私数据放进 data-* 会直接泄露。
data-* 属性dataset 读写HTML 数据传递全局属性自定义属性规范
支持作者
如果这篇内容对你有帮助,可以请作者喝杯咖啡
0 点赞
0 收藏
分享
0 讨论
反馈
0 / 600
细中粗
0 讨论
热门最新
总结
暂无总结
嗨,下午好!
所有的成功,都源自一个勇敢的开始
创作
社区
购物
会员
近期热门

暂无数据

火次果
火次果
首页
资迅中心
小店
AI导航
社区
所有的成功,都源自一个勇敢的开始
不辜负每一个勇敢的开始
关于FAQ协议
火次果 © 2026鲁ICP备2025164830号-1