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

创建删除函数这部分,我的代码点一下没反应,点两下又全都删除了

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>制作一个表格,显示班级的学生信息</title>
<script type="text/javascript">


function removeChild(){
	var otest=document.getElementById("table");
	var node=otest.childNodes;
	for(var i=0;i<node.length;i++){
		var x=otest.removeChild(otest.childNodes[i]);
		}
	}
</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:removeChild();">删除</a></td>    <!--在删除按钮上添加点击事件  -->
  </tr>
  <tr>
    <td>xh002</td>
    <td>刘小芳</td>
    <td><a href="javascript:removeChild();">删除</a></td>   <!--在删除按钮上添加点击事件  -->
  </tr>
</table>
<input type="button" value="添加一行" onClick="add()"  />         <!--在添加按钮上添加点击事件  -->
</body>
</html>


提问者:MMJiao 2016-12-15 17:23

个回答

  • qq_骏杰丶赏_0
    2016-12-15 21:22:36
    已采纳

    不是这样写的 你这样写的意思是点击删除 按照table的子级按照子级数量重复删除直到删除全部,正确的思路是获取当前删除的位置 也就是获取这一行 然后点击删除后用this获取到这一行 然后再讲这一行removeChild掉 这里面的知识有一些之前没有提及到的信息 你可以参考一下别人代码然后不懂的部分去查看一下 这是什么 有什么用 

  • qq_骏杰丶赏_0
    2016-12-15 21:24:59

    也就是你方法下面的removeChild()中写成removeChild(this)就能获取 但是不知道为什么 a href="javascript:removeChild(this);"这养写 里面的代码执行了不行 改成 oncilck=“removeChild(this);”才行