H5对自定义属性的规定和添加获取自定义属性的方法
H5对自定义属性的规定和添加获取自定义属性的方法
元素属性那么多,如何区分是自带的属性还是默认的属性呢?
H5规定自带的属性有个data- 前缀,如data-index="1",那么,如何设置和获取属性值呢,请看下文。
<script>
var divele = document.querySelector("div");
//我们常用的添加和获取自定义属性
divele.setAttribute("flag", 1);
console.log(divele.getAttribute("flag"));
//属性那么多,如何区分是自带的属性还是默认的属性呢?
//H5规定自带的属性有个data- 前缀,如data-index="1"
divele.setAttribute("data-index", 1);
console.log(divele.getAttribute("data-index")); //兼容性比较好
//H5新增的获取属性值得方法,元素对象.dataset.index, dataset是个自定义属性(规范的data-开头)的集合
console.log(divele.dataset.index);
//divele.dataset[`index`] 获取对象属性的第二种方式
console.log(divele.dataset[`index`]);
//问题来了,如果自定义属性被很多连接符拼接而成呢?
divele.setAttribute("data-temp-name", 2);
//获取的时候用驼峰法
console.log(divele.getAttribute("data-temp-name")); //这种方式正常写
console.log(divele.dataset.tempName);
console.log(divele.dataset[`tempName`]);
</script>
浙公网安备 33010602011771号