為什么不能通過超鏈接<a href="javascript:shanchu(this)" >刪除</a>刪除呢
代碼貼下,我用onclick可以刪除 ? ? 超鏈接調(diào)用函數(shù)為什么不行呢?
<!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");
? ? ?// 鼠標(biāo)移動(dòng)改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。
? ? ? ? ? ? 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";
? ? ? ? ? ? }
? ? ? ? }
?
? ? ?
? ? ? // 編寫一個(gè)函數(shù),供添加按鈕調(diào)用,動(dòng)態(tài)在表格的最后一行添加子節(jié)點(diǎn);
? ? ? ? ?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]);}
? ? ? ? }
? ?
? ? ?
? ? ?// 創(chuàng)建刪除函數(shù)
? ? ? ? ?function shanchu(obj){
? ? ? ? ? ? var aa1=obj.parentNode.parentNode;
? ? ? ? ? ? ?aa1.parentNode.removeChild(aa1);
? ? ? ? ?}
? </script>?
?</head>?
?<body>?
? <table border="1" width="50%" id="table">
? <tr>
<th>學(xué)號(hào)</th>
<th>姓名</th>
<th>操作</th>
? </tr> ?
? <tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:shanchu(this)" >刪除</a></td> ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? </tr>
? <tr>
<td>xh002</td>
<td>劉小芳</td>
<td><a href="javascript:shanchu(this);" >刪除</a></td> ? <!--在刪除按鈕上添加點(diǎn)擊事件 ?-->
? </tr> ?
? </table>
? <input type="button" value="添加一行" ?onclick="tianjia()" /> ? <!--在添加按鈕上添加點(diǎn)擊事件 ?-->
?</body>
</html>
2017-05-07
href中的javascript里的this是window對(duì)象,代表的是整個(gè)瀏覽器窗口,
而onclick中的確是a節(jié)點(diǎn)。
2017-05-07
this的用法不對(duì),<a href="javascript:;" onclick="shanchu(this);">
this指向直接調(diào)用者,如果有new關(guān)鍵字,this指向new出來的對(duì)象;在事件中,this指向出發(fā)這個(gè)事件的對(duì)象。
命名最好規(guī)范易讀一點(diǎn)0.0