问答详情
源自:9-14 删除节点removeChild()

这样写为什么没有效果?

求解

<!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 newnode=document.createElement("i");

          

          newnode.appendChild(oldnode.innerHTML);

          oldnode.parentNode.replaceChild(newnode,oldnode);

  

       }    

  </script>

  

 </body>

</html>


提问者:serebi 2016-01-27 16:54

个回答

  • Sunsy丶
    2016-01-27 17:52:11
    已采纳

    oldnode.innerHTMl所取的东西不是节点,你查查InnerHTML 取的是什么

  • serebi
    2016-01-28 16:21:11

    我改成了如下代码以后,还是变不了斜体,只是由粗体变细了

      <script type="text/javascript">

          function replaceMessage(){

              var oldnode=document.getElementById("oldnode");

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

              var xx=document.createTextNode(oldnode.innerHTML);

              oldnode.parentNode.replaceChild(newnode.appendChild(xx),oldnode);

              

      

           }    

      </script>