为了账号安全,请及时绑定邮箱和手机立即绑定

没法实现点了后就变斜体 怎么回事呢??有懂的大佬吗

<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 newNodeTXT=document.createTextNode("JavaScript");

    newNode.appendChild(newNodeTXT);

    var Otext=document.getElementsByTagName("div");

    var oNode=Otext.firstChild;

    

Otext.replaceChild(oNode,newNode);    

       }    

  </script>

  

 </body>


正在回答

3 回答


<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 newNodeTXT=document.createTextNode("JavaScript");

    newNode.appendChild(newNodeTXT);

    var Otext=document.getElementsByTagName("div")[0];     //这里用标签名获取的是一个数组,注意这                                                                                                        //Elements,复数标签的意思,这个数组下标从0                                                                                             //开始,这里要取的也是第0个标签(就是第一个)

    var oNode=Otext.firstChild;

    

Otext.replaceChild(newNode,oNode);                            //然后是这个函数你写反了,第一个参数是新节点,                                                                                           //第二个参数才是是旧节点

       }    

  </script>

  

 </body>


0 回复 有任何疑惑可以回复我~

Otext是个长度为0的数组,可以console.log一下查看,所以oNode=Otext[0].firstChild,替换的话,需要在b标签的上一级中把b标签换成i标签


0 回复 有任何疑惑可以回复我~
#1

慕鱼树 提问者

为什么Otext是个长度为0的数组??不是1吗
2018-11-14 回复 有任何疑惑可以回复我~

<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 newNodeTXT=document.createTextNode("JavaScript"); 

        newNode.appendChild(newNodeTXT);


        var Otext=document.getElementsByTagName("div");

        var oNode=Otext[0].firstChild;        


        oNode.parentNode.replaceChild(newNode,oNode);

    }

</script> 

 </body>


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

没法实现点了后就变斜体 怎么回事呢??有懂的大佬吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信