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

这个变成里面,var table = obj.parentNode.parentNode.parentNode; 和var table=document.getElementById("table");是不一样的吗?

这个变成里面,var table = obj.parentNode.parentNode.parentNode;  和var table=document.getElementById("table");是不一样的吗?

正在回答

2 回答

 

    // 创建删除函数
   function remove(obj) //删除已有的2行,已有的两行删除标签的三层父元素是tybody     {
         var tr=obj.parentNode.parentNode;
         //tr.parentNode.removeChild(tr);      
      var a= document.getElementById("table").childNodes[1].removeChild(tr);     
     //  document.write(tr.parentNode.nodeName);
     }
function a(obj)   //删除新添加的行,新添加的行删除标签三次父元素是table   
     { 
 var tr=obj.parentNode.parentNode;
document.getElementById("table").removeChild(tr);
}

不知道为什么新加的行和原来在html里已有的行三次父元素不一样。

1 回复 有任何疑惑可以回复我~
#1

曹妍真瘦

知道了,因为插入新行时用的是 table.appendChild(newTr); 如过新插入的行也想用函数1那就得把新插入的行插到tybody里: table.childNodes[1].appendChild(newTr);//因为<table>和<tr>标签之间有换行所以table的第二个子元素是tybody。
2015-07-28 回复 有任何疑惑可以回复我~
#2

二五七 提问者

非常感谢!
2015-07-28 回复 有任何疑惑可以回复我~

不太一样,前者是table下的子元素tbody,后者是table

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

二五七 提问者

这个例子中,obj的的三次父元素不就是table吗?
2015-07-23 回复 有任何疑惑可以回复我~
#2

康振宁 回复 二五七 提问者

应该是tbody,你可以用Chrome开发者模式下,打个断点,看看获取的是什么
2015-07-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个变成里面,var table = obj.parentNode.parentNode.parentNode; 和var table=document.getElementById("table");是不一样的吗?

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