为了账号安全,请及时绑定邮箱和手机立即绑定

大神们,为什么要用.lastChild,还有新增行的函数里要再次调用Highlight();

  <script type="text/javascript">  

window.onload = function(){

Highlight();

}  

function addOne(obj){ 

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

var tr = document.createElement('tr');  

 

var td = document.createElement("td");

td.innerHTML = "<input type='text'/>";

tr.appendChild(td);

 

td = document.createElement("td");  

td.innerHTML = "<input type='text'/>";

tr.appendChild(td);

 

td = document.createElement("td");

td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>";

tr.appendChild(td);   

 

tbody.appendChild(tr);   

Highlight();

    }


function deleteRow(obj){

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

var tr = obj.parentNode.parentNode;

tbody.removeChild(tr);

}

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";

}  

}


  </script> 

正在回答

2 回答

不好意思,问一下,所以是有参考答案的吗....??!!

0 回复 有任何疑惑可以回复我~

因为之前的控制变色事件是在onload里,所以后面新加的行是没有添加到控制变色事件的。之所以要用lastChild是因为新加的行是最后一个节点,你这里的Hightlight是添加控制变色事件的函数。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

大神们,为什么要用.lastChild,还有新增行的函数里要再次调用Highlight();

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信