第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么刪除原有的兩行刪不掉?和點贊最多的答案區(qū)別在哪里?

function?del(obj){
????????//這種方法會導致已有的兩個刪不掉?。。?????????//var?table=document.getElementById("table");
????????//table.removeChild(obj.parentNode.parentNode);
????????//這是點贊最多的答案
????????var?tr=obj.parentNode.parentNode;
????????tr.parentNode.removeChild(tr);

????}

到底問題出在什么地方?

正在回答

3 回答

因為你取的ID不對,你直接取ID為table的元素,那他的父級父級就找不到元素了,所以無法刪除。

而答案是從他點擊事件的那個a標簽開始的,所以取3個父級就取到了tr,然后刪除就有效。

0 回復 有任何疑惑可以回復我~
#1

秦家小小神 提問者

非常感謝!
2017-02-23 回復 有任何疑惑可以回復我~
#2

秦家小小神 提問者

你好,我當時有點兒懵,現(xiàn)在看你說的地方?jīng)]有問題啊,我刪除的是子節(jié)點obj.parentNode.parentNode也就是tr,父節(jié)點table也就是tr.parentNode。也就是說,我的代碼應該只是正確答案換了種寫法,結果卻是最初的兩行不能刪除
2017-02-27 回復 有任何疑惑可以回復我~

我一開始也遇到了你這個問題,后來我想看看傳入的obj.parentNode.parentNode的父級元素即obj.parentNode.parentNode.parentNode到底是不是table,就輸入了以下代碼。

?function?del(obj)
??????{
??????????var?table?=?document.getElementById("table");
??????????var?thetr?=?obj.parentNode.parentNode;
??????????alert(thetr.parentNode.nodeName);
??????}

http://img1.sycdn.imooc.com//58b6481f0001d01502430147.jpg

結果alert彈出的結果卻是TBODY而不是table,后來經(jīng)過一番尋找,在別人的解答中發(fā)現(xiàn)了這張圖:

http://img1.sycdn.imooc.com//58b6489c0001fe6c02100154.jpg

"table完整地寫法是上述這張圖,而我們平時寫代碼一般都省略其內部的三個子節(jié)點<thead> <tfoot> <tbody>,<tr>存在<tbody>中,<tbody>為<tr>父節(jié)點,但你運行代碼時,瀏覽器會自動給你添加<thead> <tfoot> <tbody>"


到這里,我就明白原因了。當我們通過id獲取table時,<table>與<tr>之間還有<tbody>。

?????? var?table=document.getElementById("table");

?????? table.removeChild(obj.parentNode.parentNode);

在這句代碼中,table代表的是<table>節(jié)點,obj.parentNode.parentNode代表的是<tr>,由于<table>的子節(jié)點是<thead> <tfoot> <tbody>而不是<tr>,所以使用removeChild()刪除時會失敗。

而點贊最多的答案即:

??????? var?tr=obj.parentNode.parentNode;

????????tr.parentNode.removeChild(tr);

這里是直接用tr.parentNode來刪除tr這個節(jié)點(tr.parentNode這個節(jié)點一定是tr的父節(jié)點吧),? 所以可以成功刪除。

你也可以自己編寫代碼測試一下。 ??

?


3 回復 有任何疑惑可以回復我~
#1

秦家小小神 提問者

灰常感謝!
2017-03-01 回復 有任何疑惑可以回復我~

這回答不靠譜啊 取的ID不是<TABLE >應該也是<A>吧 是obj.的父類的父類 又不是TABLE的父類的父類

0 回復 有任何疑惑可以回復我~
#1

qq_這是只倉鼠_0

說錯 取的ID就是<TABLE> 但是OBJ就是<a> 所以問題應該不是取的ID
2017-02-25 回復 有任何疑惑可以回復我~
#2

秦家小小神 提問者 回復 qq_這是只倉鼠_0

當時看完覺得是對的。。那么問題到底出在哪?。壳蠼鈤
2017-02-27 回復 有任何疑惑可以回復我~
#3

qq_這是只倉鼠_0 回復 秦家小小神 提問者

代碼給的不全 傳值是否正確無法確認 另外ID取table是可以的 這根傳進來的OBJ沒有關系,你這邊是OBJ的PARENT.PARENT OBJ沒有問題 跟TABLE半毛錢關系都沒有,所以無法刪除原有兩個很有可能是調用函數(shù)時傳值問題。
2017-02-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么刪除原有的兩行刪不掉?和點贊最多的答案區(qū)別在哪里?

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號