javascript - 如何在 JavaScript 代码中获取数据属性的值?

标签 javascript html custom-data-attribute

我有下一个 html:

<span data-typeId="123" data-type="topic" data-points="-1" data-important="true" id="the-span"></span>

是否可以获取以data-开头的属性,并像下面的代码一样在JavaScript代码中使用它?现在我得到 null 作为结果。

document.getElementById("the-span").addEventListener("click", function(){
    var json = JSON.stringify({
        id: parseInt(this.typeId),
        subject: this.datatype,
        points: parseInt(this.points),
        user: "H. Pauwelyn"
    });
});

最佳答案

您需要访问 dataset property :

document.getElementById("the-span").addEventListener("click", function() {
  var json = JSON.stringify({
    id: parseInt(this.dataset.typeid),
    subject: this.dataset.type,
    points: parseInt(this.dataset.points),
    user: "Luïs"
  });
});

结果:

// json would equal:
{ "id": 123, "subject": "topic", "points": -1, "user": "Luïs" }

关于javascript - 如何在 JavaScript 代码中获取数据属性的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33760520/

相关文章:

javascript - 如何获取属性的值?

javascript - 修改javascript中的字符串数组

html - 哪个目录可以放置 html src 属性的图像?

jQuery - 如何将 HTML 5 数据属性添加到 DOM 中

javascript - 如何修复未定义的 "Cannot read property ' getAttribute'?

javascript - 跨源请求被阻止 - 创建实体 GAE 数据存储

javascript - 设置拇指条右箭头限制的最佳方法?

javascript - 使用 ng-change Angular 隐藏元素

jquery - 如何对齐框中心的文本(使用 CSS)以创建滑动切换效果(使用 jquery)?

javascript - jQuery - 选择属性名称(而不是值)以...开头的所有元素?