为了账号安全,请及时绑定邮箱和手机立即绑定

href="javascript:"与onclick="dele(this)"的问题

href="javascript:"与onclick="dele(this)"的问题

qq_甘蔗_0 2015-11-23 20:52:35
<!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 tr= document.getElementsByTagName('tr');          for(var i=0;i<tr.length;i++){                            tr[i].onmouseover = function (){                                    this.style.backgroundColor="#f2f2f2";              }              tr[i].onmouseout = function (){                                    this.style.backgroundColor="#fff";              }          }  }             // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;     function addOne(){           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='dele(this)'>删除</a>";         tr.appendChild(td);                     var ta=document.getElementsByTagName("table")[0];         ta.appendChild(tr);            Highlight();     }                  // 创建删除函数      function dele(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:dele(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->    </tr>    <tr> <td>xh002</td> <td>刘小芳</td> <td><a href="javascript:dele(this);" >删除</a></td>   <!--在删除按钮上添加点击事件  -->    </tr>      </table>    <input type="button" value="添加一行" onclick="addOne()" />   <!--在添加按钮上添加点击事件  -->  </body> </html><td><a href="javascript:dele(this);" >删除</a></td>这个语句为什么无效?应该可以这样调用方法的不是么?<a href='javascript:;' onclick='dele(this)'>删除</a> 用onclick事件是可以的没错,但是这样显得很繁琐.
查看完整描述

1 回答

已采纳
?
李晓健

TA贡献1036条经验 获得超461个赞

<a href="javascript:dele(this);" >删除</a> 你这样写的话,你的 this 是指向 window 的,并不是你点击的这个a ,自然就报错了。

查看完整回答
反对 回复 2015-11-23
  • qq_甘蔗_0
    qq_甘蔗_0
    有大神告诉我:在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件。想传递当前对象给一个函数,于是就将这个URL写成"Javascript:shoControlSidebar(this)",可是结果发现这并不可行,传递过去的参数是一个对象,但是却得不到任何其他信息。我想得到的是innerText,而这个this并非指向它所在的A标签。 我想大概什么意思能有点概念,但是href传this为什么传的是window啊?
  • weibo_瀛匀_0
    weibo_瀛匀_0
    为什么 href 里的 this 指向的是 window 啊?谢谢!
  • 1 回答
  • 0 关注
  • 1897 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信