为什么什么效果都没有啊,我已经检查了很多遍了~~而且我的代码跟那个“同学代码”中的写的那个一样啊,他的能出效果,为什么我的不行呢?

来源:9-22 编程练习

_1斯多葛式的冷静1_

2017-05-05 14:01

<!DOCTYPE html>
<html>
 <head>
  <title> new document </title>  
  <meta charset="utf-8"/>   
  <script type="text/javascript"> 
      window.onload = function(){
       var tr=document.getElementsByTagName('tr');
       for (var i=0;i<tr.length;i++) {
       bgcChange(tr[i]);
       }
      }
     // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
      function bgcChange(obj){
       obj.onmouseover=function() {
       obj.style.backgroudColor="#f2f2f2";
       }
       obj.onmouseout=function() {
       obj.style.backgroudColor="#fff";
       }

      }   
     
      // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
     // var trs=document.getElementsByTagName('tr');
     // var num=trs.length;
     var num=2;
     function add(){
      num++;
      var tr=document.createElement('tr');
      var td1=document.createElement('td');
      var td2=document.createElement('td');
      var td3=document.createElement('td');

      td1.innerHTML="xh"+num;
      td2.innerHTML="第"+num+"个学生";
      td3.innerHTML="<a href="javascript:;" onclick="del(this)">删除</a>;
     }
     tr.appendChild(td1);
     tr.appendChild(td2);
     tr.appendChild(td3);
     
     var tab=document.getElementById('table');
     tab.appendChild(tr);

     var tr=document.getElementsByTagName('tr');
       for (var i=0;i<tr.length;i++) {
       bgcChange(tr[i]);
       }
     // 创建删除函数
     function del(obj){
      var tr=obj.parentNode.parentNode;
      tr.parentNode.removeChild(tr);
     }
  </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 href="javascript:;" onclick="del(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
  </tr>

  <tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" onclick="del(this)" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
  </tr>  
  </table>
  <input type="button" value="添加一行"  onclick="add()" />   <!--在添加按钮上添加点击事件  -->
 </body>
</html>


写回答 关注

2回答

  • 慕勒7123956
    2017-05-05 16:32:03
    已采纳

    在双引号里面使用引号的时候需要使用单引号,你的37行有问题

    _1斯多葛式...

    啊,谢谢,已经能删除了,但是添加一行也不行,是怎么回事啊?

    2017-05-08 21:46:53

    共 1 条回复 >

  • 慕勒7123956
    2017-05-09 08:26:37

    应该是tr.appendChild这些应该放在函数体里面的

    _1斯多葛式...

    可以运行了,太谢谢你了!!!

    2017-05-09 20:00:35

    共 1 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题