oldNode.parentNode指代那個節(jié)點?b標簽的父節(jié)點指的是DIV? 按照的我理解直接把b標簽替換成i標簽,不需要加parentNode,求大佬指點!
?<div><b id="oldnode">JavaScript</b>
? 是一個很常用的技術(shù),為網(wǎng)頁添加動態(tài)效果。</div>
? <a href="javascript:replaceMessage()"> 將加粗改為斜體</a>
? ? <script type="text/javascript">
? ? ? function replaceMessage(){
? ? ? ? ? var oldNode=document.getElementById("oldnode");
? ? ? ? ? var newtext=document.createTextNode("JavaScript");
? ? ? ? ? var newnode=document.createElement("i");
? ? ? ? ? newnode.appendChild(newtext);
? oldNode.parentNode.replaceChild(newnode,oldNode);
? }? ??
2019-11-06
我盯著replaceChild這玩意看了老半天才反應(yīng)過來這個是操作子節(jié)點的,要操作對應(yīng)節(jié)點得先獲取父節(jié)點?
2019-10-22
替換節(jié)點的操作,是需要通過該被替換節(jié)點的父節(jié)點操作的。
2019-10-14
首先,b標簽的父節(jié)點指代div,然后,我個人理解是替換是刪除掉原來的節(jié)點,然后新創(chuàng)建一個頂上去插入的意思,這里我嘗試刪除掉parentNode后報錯
Failed to execute 'replaceChild' on 'Node': The node to be replaced is not a child of this node.
? ? at replaceMessage (file:///F:/HTML+CSS+JAVAScript/HTML.html:23:18)
? ? at <anonymous>:1:1
,意思是,要替換的節(jié)點不是該b標簽的子節(jié)點,
所以其實是對父節(jié)點的操作吧。