請問這兩句話有什么區(qū)別?為什么第一個可以運(yùn)行,第二個不可以?
第一句:
var del=document.createElement("td");
? ? ? ? del.innerHTML="<a href='javascript:;' onclick='del(this)' >刪除</a>";
第二句:
var del=document.createElement("td");
var tda=document.createElement("a");
? ? ? ? ?del.appendChild(tda);
? ? ? ? ?tda.innerHTML="刪除";
? ? ? ? ?tda.href="javascript:;";
? ? ? ? ?tda.onclick="remove(this)";
第一句代碼可以觸發(fā)remove函數(shù)而第二個不行,為什么???
原題目參考:http://idcbgp.cn/code/1636
代碼如下:
<!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++) ??????????{ ??????????????bgcChange(tr[i]); ??????????} ?????//?鼠標(biāo)移動改變背景,可以通過給每行綁定鼠標(biāo)移上事件和鼠標(biāo)移除事件來改變所在行背景色。 ??????}????????? ?????function?bgcChange(obj) ?????{ ????????obj.onmouseover=function(){ ????????????obj.style.backgroundColor="#f2f2f2"; ????????} ????????obj.onmouseout=function(){ ????????????obj.style.backgroundColor="#fff"; ????????} } ??? //?編寫一個函數(shù),供添加按鈕調(diào)用,動態(tài)在表格的最后一行添加子節(jié)點(diǎn); ?????var?num=2; ?????function?add(){ ????????num++; ????????var?tr=document.createElement("tr"); ????????var?xh=document.createElement("td"); ????????var?xm=document.createElement("td"); ????????xh.innerHTML="xh00"+num; ????????xm.innerHTML="第"+num+"學(xué)生"; ????????var?del=document.createElement("td"); ???????? ????????//第一種方法(不知道為什么錯的方法) ????????var?tda=document.createElement("a"); ?????????del.appendChild(tda); ?????????tda.innerHTML="刪除"; ?????????tda.href="javascript:;"; ?????????tda.onclick=function(){del(this);}; ????????//第一種方法(對的) ????????/*del.innerHTML="<a?href='javascript:;'?onclick='del(this)'?>刪除</a>";?*/ ????????var?tab=document.getElementById("table"); ????????tab.appendChild(tr); ????????tr.appendChild(xh); ????????tr.appendChild(xm); ????????tr.appendChild(del); ????????var?tr?=?document.getElementsByTagName("tr"); ??????????for(var?i=?0;i<tr.length;i++) ??????????{ ??????????????bgcChange(tr[i]); ??????????} ?????} ???? ?????//?創(chuàng)建刪除函數(shù) ?????function?del(obj) ?????{ ?????????var?tr=obj.parentNode.parentNode; ?????????tr.parentNode.removeChild(tr); ?????} ????? ? ? ??</script>? ?</head>? ?<body>? ??<table?border="1"?width="50%"?id="table"> ??<tr> <th>學(xué)號</th> <th>姓名</th> <th>操作</th> ??</tr>?? ??<tr> <td>xh001</td> <td>王小明</td> <td><a?href="javascript:;"?onclick="del(this);">刪除</a></td>???<!--在刪除按鈕上添加點(diǎn)擊事件??--> ??</tr> ??<tr> <td>xh002</td> <td>劉小芳</td> <td><a?href="javascript:;"?onclick="del(this);">刪除</a></td>???<!--在刪除按鈕上添加點(diǎn)擊事件??--> ??</tr>?? ??</table> ??<input?type="button"?value="添加一行"?onclick="add()"?/>???<!--在添加按鈕上添加點(diǎn)擊事件??--> ?</body> </html>
2016-08-13
有一個問題為什么兩個onclick綁定的函數(shù)不一樣?remove 或者 del?
?tda.onclick= ? ? ? ?這種綁定函數(shù)不能這樣綁定,下面正確演示:deleteRow函數(shù)名
tda.onclick= function(){deleteRow(this);}; ?//有參數(shù),這里選這種
tda.onclick=deleteRow; //無參數(shù)
2016-08-13
2016-08-13
del.appendChild(tda);并沒有把a(bǔ)標(biāo)簽放在<td>里面吧,<a>放在了<td>外面吧