自定义数据属性 – 学习画板

首页 » DOM » 自定义数据属性

自定义数据属性

HTML5规定可以为元素添加非标准的属性,但要添加前缀data-,目的是为元素提供与渲染无关的信息,或者提供语义信息。这些属性可以任意添加、随便命名,只要以data-开头即可。

<div id="myDiv" data-appid="12345" data-myname="Nicholas"></div>

添加了自定义属性之后,可以通过元素的dataset属性来访问自定义属性的值。dataset属性的值是DOMStringMap的一个实例,也就是一个名值对儿的映射。在这个映射中,每个data-name形式的属性都会有一个对应的属性,只不过属性名没有data-前缀(比如,自定义属性是data-myname,那映射中对应的属性就是myname)。

var div = document.getElementById("myDiv");
//取得自定义属性的值
var appId = div.dataset.appid;
var myName = div.dataset.myname;
//设置值
div.dataset.appid = 23456;
div.dataset.myname = "Michael";
//如果获取到“myname”的值
if(div.dataset.myname) {
    alert("Hello, " + div.dataset.myname);
}

如果需要给元素添加一些不可见的数据以便进行其它处理,那就要用到自定义数据属性。在跟踪链接或混搭应用中,通过自定义数据属性能方便地知道点击来自页面中的哪个部分。

支持自定义数据属性的浏览器有Firefox 6+和chrome。

此文章发表在 DOM. 将 固定链接 加入收藏.