问答详情
源自:9-15 替换元素节点replaceChild()

replaceChild()替换问题

请问:练习中的这段代码为什么能把粗体改为斜体?其中newnode.innerHTML = oldHTML;这句不是又把原来的节点内容赋予了新的节点吗?为什么粗体就变为斜体了?谢谢。

<!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 oldnode = document.getElementById("oldnode");  

var oldHTML = oldnode.innerHTML;

        var newnode = document.createElement("i");

        oldnode.parentNode.replaceChild(newnode,oldnode);

    newnode.innerHTML = oldHTML;

    }    

  </script>

  

 </body>

</html>


提问者:天山之路 2016-03-16 08:50

个回答

  • LeingK
    2016-03-16 10:03:51
    已采纳

    因为新的节点用的是<i>标签,这个标签的作用就是斜体,顺便说下,<b>标签是粗体