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

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

9-15替換元素節點replaceChild():示例中用到了父節點parentNode,父節點在這里的作用?

<!doctype?html>
<html>
<head>
<meta?charset="utf-8">
<title>replaceChild?實現子節點(對象)的替換</title>
</head>

<body>
<script?type="text/javascript">
???function?replaceMessage(){
	???var?newnode=document.createElement("p");
	???var?newnodeText=document.createTextNode("JavaScript");
	???newnode.appendChild(newnodeText);
	???var?oldnode=document.getElementById("oldnode")
	???oldnode.parentNode.replaceChild(newnode,oldnode);??//這里用到了parentNode
	???}
</script>
<h1?id="oldnode">Java</h1>
<a?href="javascript:replaceMessage()">"Java"替換"JavaScript"</a>
</body>
</html>


正在回答

4 回答

同學,看本章的知識:

替換元素節點replaceChild()

replaceChild 實現?子節點(對象)?的替換。返回被替換對象的引用。?

子節點是相對父節點來用的。沒有父節點就得不到子節點集合。子節點集合==父節點.childNodes

因此,想要替換某個節點,必須找到它的父節點,從父節點調用replaceChild()方法


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

MMJiao 提問者

不能直接找到被替換的子節點嗎
2016-12-09 回復 有任何疑惑可以回復我~
#2

進擊君 回復 MMJiao 提問者

子節點集合,或者叫做子節點數組。必須在被替換的節點所在的數組里才能進行操作,也就是該節點以及所有它的兄弟節點的集合,我們通過該節點的父節點找到這個子節點集合。
2016-12-09 回復 有任何疑惑可以回復我~
#3

MMJiao 提問者

非常感謝!這一節感覺好難,很多都不太理解
2016-12-09 回復 有任何疑惑可以回復我~
查看1條回復

是不是前面部分學到的insertBefoe ? ? ? ? appendChild等都需要相對父節點才可以找到本身的子節點呢 大神賜教

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

有個概念在之前的課上也出現過,叫子節點集合,或者子節點數組,想要對節點進行增加,刪除,必須通過該節點所在的子節點數組,也就是該節點以及它的所有兄弟節點的集合里操作才行。而我們通過父節點來找到這個集合(子節點集合)

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

這里替換的是父節點中的一個子節點,所以oldnode獲取取了父節點body然后把body中的oldnode 也就是自己替換為newnode

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468835    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

9-15替換元素節點replaceChild():示例中用到了父節點parentNode,父節點在這里的作用?

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

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

幫助反饋 APP下載

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

公眾號

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