data-*属性仅存储跳转地址,需JavaScript读取并执行window.location.href等跳转逻辑,不可自动触发;命名推荐data-target-url,值须为合法URL且校验格式与安全性。
data-* 属性怎么存跳转地址
HTML5 的 data-* 属性本身不触发跳转,它只是静态容器,用来存你后续要用的数据。想“动态定目标”,必须配合 JavaScript 读取并执行跳转逻辑。
常见错误是直接写 点击,但不写 JS,点了毫无反应——data-url 不会自动变成 href 值。
- 推荐用语义清晰的命名,比如
data-target-url或data-href,避免和原生属性冲突 - 值必须是合法 URL 字符串,注意编码:含中文或空格时建议先
encodeURIComponent()处理再存入 - 不要在
data-属性里塞复杂结构(如 JSON 字符串),除非你明确要解析它;简单跳转只存纯 URL 最稳
用 JavaScript 读取并跳转的最小可行写法
核心就三步:选中元素 → 取 dataset 值 → 调用 window.location.href 或 location.assign()。
示例(内联事件,适合快速验证):
立即学习“前端免费学习笔记(深入)”;
跳转
更推荐分离行为(绑定事件监听器):