搜尋

首頁  >  問答  >  主體

怎么会是这样???

这里替换的是 b 标签  为什么使用的是oldnode.parentNode.replaceChild(newnode,oldnode)而不是oldnode.replaceChild(newnode,oldnode)????

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
  <div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
  <a href="javascript:replaceMessage()"> 将加粗改为斜体</a>
  
    <script type="text/javascript">
      function replaceMessage(){
      
     var newnode=document.createElement("i");
     var oldnode=document.getElementById("oldnode");
     newnode.innerHTML=oldnode.innerHTML;
      oldnode.parentNode.replaceChild(newnode,oldnode);
        document.write(oldnode.parentNode.nodeName);
  
       }    
  </script>
  
 </body>
</html>


女神的闺蜜爱上我女神的闺蜜爱上我2889 天前849

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2016-12-21 10:55:23

    replaceChild()函数实现的是子节点的替换,不是自身的替换,要替换oldnode,当然得用oldnode.parentNode结点来调用这个函数

    回覆
    0
  • 取消回覆