為什么不能通過超鏈接<a href="javascript:shanchu(this)" >刪除</a>刪除呢
代碼貼下,我用onclick可以刪除 ? ? 超鏈接調用函數為什么不行呢?
<!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 hang=document.getElementsByTagName("tr");
? ? ?// 鼠標移動改變背景,可以通過給每行綁定鼠標移上事件和鼠標移除事件來改變所在行背景色。
? ? ? ? ? ? for(var i=0;i<hang.length;i++){
? ? ? ? ? ? ? ? hahaha(hang[i]);}
? ? ? }
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ??
? ? ? ? function hahaha(aaa){
? ? ? ? ? ? aaa.onmouseover=function(){
? ? ? ? ? ? ? ? aaa.style.backgroundColor="#f2f2f2";
? ? ? ? ? ? }
? ? ? ? ? ? aaa.onmouseout=function(){
? ? ? ? ? ? ? ? aaa.style.backgroundColor="#fff";
? ? ? ? ? ? }
? ? ? ? }
?
? ? ?
? ? ? // 編寫一個函數,供添加按鈕調用,動態在表格的最后一行添加子節點;
? ? ? ? ?function tianjia(){
? ? ? ? ? ? var biao=document.getElementById("table");?
? ? ? ? ? ? var aa=document.createElement("tr");
? ? ? ? ? ? var a1=document.createElement("td");
? ? ? ? ? ? var a2=document.createElement("td");
? ? ? ? ? ? var a3=document.createElement("td");
? ? ? ? ? ? a3.innerHTML="<a href='javascript:shanchu(this);' >刪除</a>";
? ? ? ? ? ? aa.appendChild(a1);aa.appendChild(a2);aa.appendChild(a3);
? ? ? ? ? ? biao.appendChild(aa);
? ? ? ? ? ? var hang=document.getElementsByTagName("tr");
? ? ? ? ? ? for(var i=0;i<hang.length;i++){
? ? ? ? ? ? ? ? hahaha(hang[i]);}
? ? ? ? }
? ?
? ? ?
? ? ?// 創建刪除函數
? ? ? ? ?function shanchu(obj){
? ? ? ? ? ? var aa1=obj.parentNode.parentNode;
? ? ? ? ? ? ?aa1.parentNode.removeChild(aa1);
? ? ? ? ?}
? </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:shanchu(this)" >刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?-->
? </tr>
? <tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:shanchu(this);" >刪除</a></td> ? <!--在刪除按鈕上添加點擊事件 ?-->
? </tr> ?
? </table>
? <input type="button" value="添加一行" ?onclick="tianjia()" /> ? <!--在添加按鈕上添加點擊事件 ?-->
?</body>
</html>
2017-05-07
href中的javascript里的this是window對象,代表的是整個瀏覽器窗口,
而onclick中的確是a節點。
2017-05-07
this的用法不對,<a href="javascript:;" onclick="shanchu(this);">
this指向直接調用者,如果有new關鍵字,this指向new出來的對象;在事件中,this指向出發這個事件的對象。
命名最好規范易讀一點0.0