老师,读取data-index属性时,不应该直接读取的是标签中显示的值吗?

来源:16-10 作用域和闭包--解题

r363886121

2017-07-10

var a;

for(var i=0; i<10; i++){
   a = document.createElement("a");
   a.innerHTML = '我是超链接';
   a.setAttribute('data-index',i);
   a.addEventListener('click',function(){
       alert(a.getAttribute('data-index'));    

   });
   document.body.appendChild(a);
}

http://szimg.mukewang.com/5962f17f0001daa802240154.jpg


写回答

2回答

Dong大瓜

2019-05-08

改成this就可以了,

alert(this.getAttribute('data-index'));

a的话是一直找到最后一个a

0
0

双越

2017-07-10

setAttribute 会改变 DOM 属性,getAttribute 是查询 DOM 属性,这样频繁的 DOM 操作会严重降低性能。

0
3
qq_四月是你的谎言喽_03448132
老师 这个深有体会,之前曾经拼接在页面加载的时候拼接过好几百个select下面的选项···页面完成特别慢
2018-03-07
共3条回复

BAT大牛带你横扫初级前端JavaScript面试(第二版)

BAT高级前端工程师亲授,结合真实面试题,提高面试成功几率

4268 学习 · 817 问题

查看课程