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

关于js的小问题吧!有时间的老师同学来看看

关于js的小问题吧!有时间的老师同学来看看

开心的山羊 2016-07-28 22:56:53
各位老师我是想:【点击添加可以添加一行,删除就删除当前行】实际是:【只能删除写在文档里的<tr>,动态添加的就不行】<!DOCTYPE html> <html>  <head>   <title> new document </title>     <meta charset="UTF-8"/>     <style type="text/css">    *{    font-family:Microsoft YaHei;    }    #table{    background: #fff;    margin:0;    border:0;    border-collapse:collapse;    }    #table td{    border:solid #ccc 1px;    }    #table th{    border:solid #999 2px;    }    #btn{    border:0;    width: 80px;    height: 25px;    background:#999;    color: #fff;    cursor: pointer;    }    .deletass{    color:#f60;       cursor: pointer;    }    .div{    margin-top: 5px;    }    .div > *{    float: left;    margin:0 3px;    }   </style>   <script type="text/javascript">    function addEventOnload(func){     var oldonload = window.onload;     if(typeof window.onload != "function"){       window.onload = func;     }else{       window.onload = function(){         oldonload();         func();       }     }   }     function addtr(){      var table = document.getElementById("table").lastChild;/*找到表格*/      var new_tr = document.createElement("tr"); /*创建tr*/           /** 学号  **/      var num = document.getElementById("num"); /*获取学号id*/      var num_txt = parseInt(num.value); /*必须为整数*/       if(num_txt < 10 && num_txt >= 0){         num_txt = "0"+num_txt;       }       if(num_txt >= 0){                      /*限制必须输入学号*/         var new_tx_a = document.createTextNode(num_txt);/*创建文本节点,追加学号*/       }else{         alert("请输入正确学号!");         return false;       }      var new_td_a = document.createElement("td");/*新建td储存学号*/      new_td_a.appendChild(new_tx_a); /*赋予学号*/      new_tr.appendChild(new_td_a); /*追加到tr*/      /** 姓名  **/      var name = document.getElementById("name"); /*获取姓名*/       var name_txt = name.value;      if(name_txt.length <= 16){ /*限制名字数*/         var new_tx_b = document.createTextNode(name_txt);      }else{      alert("姓名不能超过16个字,请重新输入");         return false;      }      var new_td_b = document.createElement("td"); /*新建td储存姓名*/      new_td_b.appendChild(new_tx_b); /*赋予姓名*/      new_tr.appendChild(new_td_b); /*追加到tr*/      /*添加删除按钮*/      var new_td_c = document.createElement("td"); /*新建td储存删除按钮*/      var new_a = document.createElement("a");      var new_a_txt = document.createTextNode("删除");      new_a.appendChild(new_a_txt); /*追加文本*/       new_a.setAttribute("class","deletass");      new_td_c.appendChild(new_a); /*追加到td*/       new_tr.appendChild(new_td_c);         /*追加到tr*/       /*追加到原有行下面*/       table.appendChild(new_tr);     }            /*********************************************************************************************************************/           // 创建删除函数     function deleteel(){       var a_link = table.getElementsByClassName("deletass");       for(var j = 0; j<a_link.length; j++){         a_link[j].onclick = function(){             var table = document.getElementById("table").lastChild;             var x = table.removeChild(this.parentNode.parentNode);         }       }     }           function demo(){       var bbt = document.getElementById("bbt");       bbt.onclick = function(){         var table = document.getElementById("table").getElementsByTagName("tr");         alert(table.length);       }     } /*********************************************************************************************************************/ addEventOnload(deleteel); addEventOnload(demo);   </script>   </head>   <body>     <table border="1" width="50%" id="table">    <tr> <th>学号</th> <th>姓名</th> <th>操作</th>    </tr>      <tr> <td>xh001</td> <td>王小明</td> <td><a class="deletass">删除</a></td>   <!--在删除按钮上添加点击事件  -->    </tr>    <tr> <td>xh002</td> <td>刘小芳</td> <td><a class="deletass">删除</a></td>   <!--在删除按钮上添加点击事件  -->    </tr>      </table>    <div class="div">        <span>请输入相关信息:</span>    <input type="text" name="" id="num" value="学号" size="8">    <input type="text" name="" id="name" value="姓名" size="8">    <input type="button" value="添加一行" id="btn" onclick = "addtr()"/>   <!--在添加按钮上添加点击事件  -->        <input type="button" name="" id="bbt" value="click">    </div>  </body> </html>
查看完整描述

4 回答

已采纳
?
ahao430

TA贡献35条经验 获得超41个赞

因为你在load时调用了删除函数,给原有的行绑定了click删除事件。但是,对于新增的行,并没有进行绑定。只要在addtr函数内部,最后加上一行删除函数的调用即可。


查看完整回答
4 反对 回复 2016-07-29
?
慕粉理想者

TA贡献1条经验 获得超1个赞

用live

查看完整回答
1 反对 回复 2016-08-06
?
Mr_bigshot

TA贡献2条经验 获得超1个赞

估计是你新增的行的删除没有能够绑定上点击事件,你可以查查看。解决方法是在你的新增函数内添加绑定点击事件的函数

查看完整回答
1 反对 回复 2016-07-30
  • 4 回答
  • 1 关注
  • 3418 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信