function del(obj) 函數(shù)中為什么會找tr的祖父節(jié)點(diǎn),另外調(diào)用時(shí)onclick="del(this);"中的"this"有什么含義?
<!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";
??????? }
?? ? }
? ?
?? ? // 編寫一個(gè)函數(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");
??????? 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>
2019-11-18
1.head標(biāo)簽中的meta可改為,不然可能會出現(xiàn)中文亂碼的問題:
2.obj是整個(gè)a標(biāo)簽的內(nèi)容 【可以console.log(obj),在調(diào)用del方法后,控制臺就可以看到內(nèi)容】,a標(biāo)簽的祖父節(jié)點(diǎn)是tr,要?jiǎng)h除一整行,就要把對應(yīng)行的tr節(jié)點(diǎn)下的內(nèi)容刪除掉。
3.this表示對應(yīng)這一行的a標(biāo)簽吧,調(diào)用del方法,通過對應(yīng)行的a標(biāo)簽定位并刪除對應(yīng)這一行的tr