请问第二高票的改变背景的两行代码是什么意思?如何实现的,麻烦详细解答下,谢谢

来源:9-22 编程练习

weibo_Gingbery_0

2017-01-03 10:55

var str_tr=document.getElementsByTagName('tr');
          for(var i=0;i<str_tr.length;i++){
           str_tr[i].setAttribute('onmouseover',document.all ? eval(function(){this.style.background="#f2f2f2"}) : 'javascript:this.style.background="#f2f2f2"');
           str_tr[i].setAttribute('onmouseout',document.all?eval(function(){this.style.background="#fff"}):'javascript:this.style.background="#fff"');
       }


写回答 关注

1回答

  • EastEgg
    2017-01-03 17:38:13

    var str_tr=document.getElementsByTagName('tr');  //获取文档中的tr元素并储存到变量str_tr中

              for(var i=0;i<str_tr.length;i++){  //循环遍历str_tr中的tr

               str_tr[i].setAttribute('onmouseover',document.all ? eval(function(){this.style.background="#f2f2f2"}) : 'javascript:this.style.background="#f2f2f2"');  //给str_tr中的tr设置onmouseover属性,并三元运算判断。应该是为了兼容的需要吧。

               str_tr[i].setAttribute('onmouseout',document.all?eval(function(){this.style.background="#fff"}):'javascript:this.style.background="#fff"');

           }


JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题