在这个编程作业里设置鼠标移动改变背景色可否用setAttribute

来源:9-22 编程练习

月半虫下

2018-04-20 15:48

window.onload = function(){
                  
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
      function color1(obj){
          obj.style.backgroundColor = "#f2f2f2";
      }  
      function color2(obj){
	  obj.style.backgroundColor = "#fff";
      }	
      var lines = document.getElementsByTagName("tr");
      for(var i=0;i<lines.length;i++){
          lines[i].setAttribute("onmouseover","color1(this)");
          lines[i].setAttribute("onmouseout","color2(this)");                    
      }
	 
}

我这么写的,但是运行后没有效果。想问问是否能这么使用?还是我哪里写错了?

我发现很多同学代码中没有考虑对新添加的行增加这个改动背景色的效果。请问如果不能用setAttribute来设置这个鼠标移动效果的话,有什么好方法可以让新添加的行也有这个效果呢?

写回答 关注

3回答

  • qq_yearning_1
    2018-06-04 14:09:17

    newnode.setAttribute("onmouseover","style.backgroundColor='#f2f2f2'");

    newnode.setAttribute("onmouseout","style.backgroundColor='#fff'");

    这样写就可以了

  • 阳火锅
    2018-04-20 18:06:07

    我就想请问你一下onmouseover与onmouseout是一个元素的属性吗?它们只是一个触发事件。。setAttribute()这个函数能改变事件??  你先搞清楚再提问OK?

    月半虫下 回复阳火锅

    哈哈好的,感谢良苦用心

    2018-04-23 11:39:37

    共 3 条回复 >

  • 阿宅娘
    2018-04-20 16:18:32

    setAttribute是设置属性的,直接设置颜色lines[i].setAttribute("style","background-color:red");

    阿宅娘 回复精慕门154...

    https://www.imooc.com/qadetail/125821这里有解释

    2018-05-15 10:22:46

    共 5 条回复 >

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题