为什么删除不来节点?

来源:9-22 编程练习

慕码人0044688

2017-06-17 22:44

<!DOCTYPE html>
<html>
<head>
    <title> new document </title>
    <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
    <script type="text/javascript">


        window.onload = function(){
            var a = document.getElementsByTagName("tr");
                for(var i=0;i<a.length;i++){
                    a[i].onmouseover = function () {
                        this.style.backgroundColor = "#ccc";
                    }
                    a[i].onmouseout = function () {
                        this.style.backgroundColor = "#fff";
                    }
                }
        }// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。

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


        function dele(obj) {
            var a =document.getElementById("table");
            var b = obj.parentNode.parentNode;
            a.removeChild(b);
        }
        // 创建删除函数



    </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="dele(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
    </tr>

    <tr>
        <td>xh002</td>
        <td>刘小芳</td>
        <td><a href="javascript:;" onclick="dele(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
    </tr>

</table>
<input type="button" value="添加一行"  />   <!--在添加按钮上添加点击事件  -->
</body>
</html>


写回答 关注

1回答

  • 奉天
    2017-06-19 08:47:14
    <!DOCTYPE html>
    <html>
     <head>
      <title> new document </title>  
      <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>   
      <script type="text/javascript">  
    	 window.onload = function(){
    		Highlight();
    	 }  
    	 function addOne(obj){ 
    	    var tbody = document.getElementById('table').lastChild;  
    		var tr = document.createElement('tr');  
    		 
    		 var td = document.createElement("td");
    		 td.innerHTML = "<input type='text'/>";
    		 tr.appendChild(td);
    		 
    		 td = document.createElement("td");	 
    		 td.innerHTML = "<input type='text'/>";
    		 tr.appendChild(td);
    		 
    		 td = document.createElement("td");	
    		 td.innerHTML = "<a href='javascript:;' onclick='deleteRow(this)'>删除</a>";
    		 tr.appendChild(td);   
    		 
    		 tbody.appendChild(tr);   
    		Highlight();
       	 }
    
    	 function deleteRow(obj){
    	    var tbody = document.getElementById('table').lastChild;  
    		var tr = obj.parentNode.parentNode;
    		 tbody.removeChild(tr);
    	 }
    	 function Highlight(){
    		var tbody = document.getElementById('table').lastChild;	
    		trs = tbody.getElementsByTagName('tr');   
    		for(var i =1;i<trs.length;i++){
    			trs[i].onmouseover = function(){
    				this.style.backgroundColor ="#f2f2f2";
    			} 
    			trs[i].onmouseout = function(){
    				this.style.backgroundColor ="#fff";
    			} 
    		}  
    	 }
    
      </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="deleteRow(this)">删除</a></td>
    	   </tr>
    
    	   <tr>
    		<td>xh002</td>
    		<td>刘小芳</td>
    		<td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>
    	   </tr>  
    
    	   </table>
    	   <input type="button" value="添加一行" onclick="addOne()" />
     </body>
    </html>


JavaScript进阶篇

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

468190 学习 · 21891 问题

查看课程

相似问题