1. 程式人生 > >A標籤中通過href和onclick傳遞的this物件

A標籤中通過href和onclick傳遞的this物件

功能:刪除表格中的一行

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:void(0);" onclick="delRow(this);">刪除</a></td>   <!--在刪除按鈕上新增點選事件  -->

  </tr>

</table>

js:

    // 建立刪除函式
     function delRow(obj){     
        var node=obj.parentNode.parentNode;
        node.parentNode.removeChild(node);
     }

一開始是這樣寫的:<a href="javascript:delRow(this);">刪除</a>,發現傳過去的不是a標籤。

上網查詢發現是這樣的:

當使用onclick="delRow(this)"的時候,直譯器會給他包裝一個匿名函式,變成了:

a.onclick = function anonymous() 



delRow(this); 

這個this指的就是a這個物件,而使用href的方式時,由於是一個地址,這個this就無處可指了。