節(jié)點問題.....
//?創(chuàng)建刪除函數(shù) ?????function?del(obj){ ?????????var?tr=obj.parentNode.parentNode.parentNode; ?????????tr.removeChild(tr); ?????}
為什么這樣寫不行
//?創(chuàng)建刪除函數(shù) ?????function?del(obj){ ?????????var?tr=obj.parentNode.parentNode.parentNode; ?????????tr.removeChild(tr); ?????}
為什么這樣寫不行
2017-07-07
舉報
2017-07-11
使用 this 獲取當(dāng)前點擊的行即可,案例如下:
<!DOCTYPE ?HTML>
<html >
<head>
? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
? <title>無標(biāo)題文檔</title>
</head>
<body>
<table>
<tr onclick="findIndex(this)">
<th>Month</th>
<th>Savings</th>
</tr>
<tr onclick="findIndex(this)">
<td>January</td>
<td>$100</td>
</tr>
<tr onclick="findIndex(this)">
<td>may</td>
<td>$1000</td>
</tr>
</table>
<script type="text/javascript">
// 獲取當(dāng)前點擊的位置
function findIndex(obj){
var num;
var d = document.getElementsByTagName("tr");
for(i=0;i<d.length;i++){
if(d[i] === obj){
num = i;
}
}
console.log(num);
}
</script>
</html>
2017-07-07
粘貼代碼的第 4 行,removeChild() 是刪除子節(jié)點,你寫的是 tr 刪除 tr,即自己刪除自己,該操作不可執(zhí)行
改為如下代碼即可:
function del(obj){
? ? ? ? ?var tr=obj.parentNode.parentNode.parentNode;
? ? ? ? ?tr.removeChild(tr.childNodes[0]);
}
2017-07-07
obj所在的元素節(jié)點是td,td的父節(jié)點是tr,tr的父節(jié)點是table,要刪除的是table下的子節(jié)點,所以。。