亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

parentNode這個屬性找到的父節點是哪個節點?

<div id="a-node">

? ? ???? <div id="b-node">

? ? ? ? ???????? <div id="c-node">子節點內容部分</div>

? ? ? ? ??</div>

? ? </div>

將代碼改成如上述代碼所示? alert(fixContains(aNode,cNode));答案也是true,那么此處的c-node下的parentNode指代的是a-Node?還是b-Node?

正在回答

2 回答

答案是:a-Node。

解釋如下:在自定義的fixContains函數中,賦值給變量的分別是aNode和cNode,與原來的區別是不再是cNode直接的父節點,而是父節點b-Node的父節點a-Node。在fixContains函數中通過wihle循環,直接將aNode和cNode,進行了是否父類關系的判斷,結果alert的結果顯示是true,說明在此處c-node的parentNode指代的是a-Node,而不是b-Node。雖然b-Node本身也是c-node的父節點。

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

慕粉3988711 提問者

非常感謝!
2016-10-30 回復 有任何疑惑可以回復我~

剛剛又去試了下關鍵點在這:

while ((b = b.parentNode)){

? ? ? ? ? ?if (b === a){

? ? ? ? ? ? ? ?return true;

? ? ? ? ? ?}

? ? ? ?}

<div id="a-node">

? ? ???? <div id="b-node">

? ? ? ? ???????? <div id="c-node">子節點內容部分</div>

? ? ? ? ??</div>

? ? </div>

在while循環中(①b = b.parentNode)將b的parentNode賦給b在和a進行比較,若a!==b跳過if繼續執行while循環此時b=b.parentNode相當于①中的b.parentNode.parentNode,這時符合條件,進入if并返回true,如果再不合適就會變成b.parentNode.parentNode.parentNode,直到找到對應值或者null,如果為null,則返回false。

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

舉報

0/150
提交
取消

parentNode這個屬性找到的父節點是哪個節點?

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號