我先获取table表,然后取他的子节点,为什么不行呀

来源:9-8 访问子节点childNodes

精慕门6263188

2015-05-08 14:56

window.onload = function(){

  var child=document.getElementById("table").childNodes;

          for(var i=0;i<child.length;i++)

     {

         child[i].onmouseover=function(){

             this.style.backgroundColor="gray";

         }


        child[i].onmouseout=function(){

            this.style.backgroundColor="white";

        };

     

     }      

}

为什么我想获取table表然后取他的子节点,为什么最后的效果是我放上去任何一行整张表的背景都变了呀,

写回答 关注

1回答

  • 不断滴自我催眠
    2015-05-08 17:00:48

    childNodes 换成 children 试试

    精慕门626...

    看了下载的源码中的一个变量tbody就明白了,table表的子节点只有两个,一个是开始的一段空白text文本节点,另外一个是tbody,这个tbody包含了所有的tr,和我一开始自以为的tr是table表的直接子元素想法不一样,所以这个tbody是个隐藏的直接子元素,汗,基础不扎实唉,共同进步吧小伙伴么么么么哒

    2015-05-09 21:03:05

    共 2 条回复 >

JavaScript进阶篇

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

468196 学习 · 21891 问题

查看课程

相似问题