MMJiao
2016-12-08 17:59
<!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>
同学,看本章的知识:
替换元素节点replaceChild()
replaceChild 实现 子节点(对象) 的替换。返回被替换对象的引用。
子节点是相对父节点来用的。没有父节点就得不到子节点集合。子节点集合==父节点.childNodes
因此,想要替换某个节点,必须找到它的父节点,从父节点调用replaceChild()方法
是不是前面部分学到的insertBefoe appendChild等都需要相对父节点才可以找到本身的子节点呢 大神赐教
有个概念在之前的课上也出现过,叫子节点集合,或者子节点数组,想要对节点进行增加,删除,必须通过该节点所在的子节点数组,也就是该节点以及它的所有兄弟节点的集合里操作才行。而我们通过父节点来找到这个集合(子节点集合)
这里替换的是父节点中的一个子节点,所以oldnode获取取了父节点body然后把body中的oldnode 也就是自己替换为newnode
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题