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

为什么我deleteRow(this), 我log 了一下传入的参数,this不是a元素而是window 对象?

为什么我在在 点击时调用 deleteRow(this) 方法,在

 function deleteRow(obj){
     alert(obj);
 }

中显示 this 是 obj window 对象,并不是 a 元素?

我是 safari 浏览器


代码如下:

<!DOCTYPE html>
<html>
 <head>
  <title> new document </title>  
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   
  <script type="text/javascript"> 
      window.onload = function(){
                  

     }
        
     // 创建删除函数
     function deleteROW(obj){
     	// 这里obj 不是a 标签
		 alert(obj);
       // var tb=obj.parentNode.parentNode.parentNode;
       //   var tr=obj.parentNode.parentNode;
       //   tb.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:deleteROW(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
	   </tr>
	   <tr>
		<td>xh002</td>
		<td>刘小芳</td>
		<td><a href="javascript:deleteROW(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
	   </tr>  
	   </table>
	   <input type="button" value="添加一行" onclick="addROW()" />   <!--在添加按钮上添加点击事件  -->
 </body>
</html>


提问者:qq_苦瓜_3 2016-01-05 15:50

个回答

  • 慕莱坞9220042
    2016-01-05 16:15:23
    已采纳

    你好,这里的this是指a的标签对象,不是指a元素,望楼主采纳!