9-15替换元素节点replaceChild():示例中用到了父节点parentNode,父节点在这里的作用?

来源:9-15 替换元素节点replaceChild()

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>


写回答 关注

4回答

  • 进击君
    2016-12-09 11:54:39
    已采纳

    同学,看本章的知识:

    替换元素节点replaceChild()

    replaceChild 实现 子节点(对象) 的替换。返回被替换对象的引用。 

    子节点是相对父节点来用的。没有父节点就得不到子节点集合。子节点集合==父节点.childNodes

    因此,想要替换某个节点,必须找到它的父节点,从父节点调用replaceChild()方法


    MMJiao

    非常感谢!这一节感觉好难,很多都不太理解

    2016-12-09 15:33:17

    共 4 条回复 >

  • 慕粉1136346521
    2017-03-25 13:47:38

    是不是前面部分学到的insertBefoe         appendChild等都需要相对父节点才可以找到本身的子节点呢 大神赐教

  • 进击君
    2016-12-09 15:25:12

    有个概念在之前的课上也出现过,叫子节点集合,或者子节点数组,想要对节点进行增加,删除,必须通过该节点所在的子节点数组,也就是该节点以及它的所有兄弟节点的集合里操作才行。而我们通过父节点来找到这个集合(子节点集合)

  • zz2403558161
    2016-12-08 19:11:18

    这里替换的是父节点中的一个子节点,所以oldnode获取取了父节点body然后把body中的oldnode 也就是自己替换为newnode

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468194 学习 · 21891 问题

查看课程

相似问题