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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

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

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

????}

到底問(wèn)題出在什么地方?

正在回答

3 回答

因?yàn)槟闳〉腎D不對(duì),你直接取ID為table的元素,那他的父級(jí)父級(jí)就找不到元素了,所以無(wú)法刪除。

而答案是從他點(diǎn)擊事件的那個(gè)a標(biāo)簽開始的,所以取3個(gè)父級(jí)就取到了tr,然后刪除就有效。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

秦家小小神 提問(wèn)者

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

秦家小小神 提問(wèn)者

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

我一開始也遇到了你這個(gè)問(wèn)題,后來(lái)我想看看傳入的obj.parentNode.parentNode的父級(jí)元素即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

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

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

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


到這里,我就明白原因了。當(dāng)我們通過(guò)id獲取table時(shí),<table>與<tr>之間還有<tbody>。

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

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

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

而點(diǎn)贊最多的答案即:

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

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

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

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

?


3 回復(fù) 有任何疑惑可以回復(fù)我~
#1

秦家小小神 提問(wèn)者

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

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

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_這是只倉(cāng)鼠_0

說(shuō)錯(cuò) 取的ID就是<TABLE> 但是OBJ就是<a> 所以問(wèn)題應(yīng)該不是取的ID
2017-02-25 回復(fù) 有任何疑惑可以回復(fù)我~
#2

秦家小小神 提問(wèn)者 回復(fù) qq_這是只倉(cāng)鼠_0

當(dāng)時(shí)看完覺(jué)得是對(duì)的。。那么問(wèn)題到底出在哪???求解~
2017-02-27 回復(fù) 有任何疑惑可以回復(fù)我~
#3

qq_這是只倉(cāng)鼠_0 回復(fù) 秦家小小神 提問(wèn)者

代碼給的不全 傳值是否正確無(wú)法確認(rèn) 另外ID取table是可以的 這根傳進(jìn)來(lái)的OBJ沒(méi)有關(guān)系,你這邊是OBJ的PARENT.PARENT OBJ沒(méi)有問(wèn)題 跟TABLE半毛錢關(guān)系都沒(méi)有,所以無(wú)法刪除原有兩個(gè)很有可能是調(diào)用函數(shù)時(shí)傳值問(wèn)題。
2017-02-28 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

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

我要回答 關(guān)注問(wèn)題
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)