data-* 自定义数据属性 遇到的坑

除非data-*自定义数据属性的值是固定不变的,否则最好不要把data-*作为查询条件。

例子:

<div data-index="0">hello</div>

var div= document.querySelector("div[data-index=\"0\"]");

console.log(div);//正常

div.dataset.index=1;//更新属性值

var newDiv= document.querySelector("div[data-index=\"1\"]");//使用更新后的属性值来查询元素

console.log(newDiv);//查询不正常,找不到data-index为1的元素,因为自定义数据的值被修改后不会同步到页面标签属性中,此时data-index属性值仍是0,更新的不过是dataset中的值

posted on 2018-03-16 14:57  代码ok  阅读(215)  评论(0编辑  收藏  举报