问答详情
源自:9-22 编程练习

函数里第一行代码为什么获取的是lastChild??

function Highlight(){

var tbody = document.getElementById('table').lastChild;

trs = tbody.getElementsByTagName('tr');   

for(var i =1;i<trs.length;i++){

trs[i].onmouseover = function(){

this.style.backgroundColor ="#f2f2f2";

trs[i].onmouseout = function(){

this.style.backgroundColor ="#fff";

}  

}


提问者:这就尴尬了 2018-04-25 09:57

个回答

  • xome
    2018-04-25 11:41:29
    已采纳

    整段代码意思是给最后一行实现要求一(1.鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff),没估计错的话,应该是给添加的新行的代码调用的

  • 全是想念
    2018-05-09 16:58:36

    但是最后一个子节点可能是空格组成的文本节点,这样获取可能会有问题,除非先把空节点去掉