请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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);
}

https://img1.sycdn.imooc.com/szimg//5962f17f0001daa802240154.jpg


正在回答 回答被采纳积分+3

2回答

Dong大瓜 2019-05-08 11:21:36

改成this就可以了,

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

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

0 回复 有任何疑惑可以回复我~
双越 2017-07-10 12:56:24

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

0 回复 有任何疑惑可以回复我~
  • 提问者 r363886121 #1
    嗯,我会注意这点。我想知道的是,读取到的data-index属性值为什么和a标签中显示的不一样呢?
    回复 有任何疑惑可以回复我~ 2017-07-10 13:00:52
  • 双越 回复 提问者 r363886121 #2
    你这个问题还是跟视频中讲的一样。点击事件中,a 永远都是最后创建的链接
    回复 有任何疑惑可以回复我~ 2017-07-10 14:07:16
  • 老师 这个深有体会,之前曾经拼接在页面加载的时候拼接过好几百个select下面的选项···页面完成特别慢
    回复 有任何疑惑可以回复我~ 2018-03-07 21:18:20
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号