删除和添加功能不能用,不知道错在哪了,求同学相救

来源:9-22 编程练习

Jake_seru

2015-12-22 20:30

  window.onload = function(){

                  

     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色.

        var otable=document.getElementById("table");

        var otr=document.getElementsByTagName("tr");

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

            otr[i].onmouseover=function(){this.style.backgroundColor="#f2f2f2";}

            otr[i].onmouseout=function(){this.style.backgroundColor="#fff";}

        }

        

        

      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;

     function myadd(obj){

         var otr=document.getElementsByTagName("tr");

         var addin=document.getElementById("table").lastChild;

          

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

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

          otr.appendChild(otd);

          

          otd=document.createElement("td");

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

          otr.appendChild(otd);

          

          otd=document.createElement("td");

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

          otr.appendChild(otd);

          addin.appendChild(otr);

      }

     // 创建删除函数

     function dele(obj){

        var addin=document.getElementById("table").lastChild;

        var otr=obj.parentNode.parentNode;

        addin.removeChild(otr);

        

     }


写回答 关注

1回答

  • 迷途的马尔斯
    2015-12-22 21:10:14
    • 你既然都通过otr来获取tr了,为什么还用otable.childNodes.length来控制循环语句,实在搞不懂,你的otable对象是多余的

    • 第4行和第5行应该是otr.onmouseover,应该是otr对象来调用方法啊,为什么是属性来调用方法了

    • 后面的函数就不多说了,不要那个table的对象的,莫名其妙令你的DOM操作变得很复杂

JavaScript进阶篇

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

468195 学习 · 21891 问题

查看课程

相似问题