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

求指点!为什么代码1只能删除新增的行?而代码2可以随意删除?

求指点!为什么代码1只能删除新增的行?而代码2可以随意删除?

 代码1:function deletenode(obj){    

   var pnode=obj.parentNode.parentNode; var    tnode=document.getElementById("table"); 

  tnode.removeChild(pnode); }   

代码2: function deletenode(obj){       

 var pnode=obj.parentNode.parentNode;

pnode.parentNode.removeChild(pnode); }

提问者:summer323 2015-09-08 16:27

个回答

  • 只记录自己的声音
    2015-09-15 21:20:54

     代码1 的逻辑是:  table中你删除的是一个tr标签 ,而pnode没有index,只认为是一个普通的tr,自然从新增的中删除。 childNodes是一组元素,有对应的下标才能确认所在的位置。

    代码2 的逻辑是: 找到了“删除”所在的行,再寻找到这个的父元素,即可进行删除,不需要知道他在table中的元素序列的哪里。

  • summer323
    2015-09-08 16:30:15

    求解答啊