除非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中的值