有方法可以直接替换标签么?

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

老张家有女神

2019-11-20 15:35

这个效果做出来感觉有点像页面里写display的感觉,是不是就相当于建了一个节点没显示?


有没有办法直接把b标签替换成 i 标签呢?


还有是否是必须锁定ID才可以呢,如果只有一个b标签,可以直接定义此标签么?用了getElementsByTagName好像没有啥用啊


 var oldnode=document.getElementsByTagName("b"); 没有效果

写回答 关注

2回答

  • 晓之蛇
    2019-11-21 10:04:07
    已采纳

    var oldnode=document.getElementsByTagName("b"); 是返回的带有指定标签名的节点对象的集合,取集合中的其中一个标签那么要加下标定位。

      <script type="text/javascript">      
      function replaceMessage(){          
          //var oldnode = document.getElementById("oldnode"); //通过id获取b节点          
          var oldnode = document.getElementsByTagName("b")[0];//通过getElementsByTagName获取b节点          
          var newnode = document.createElement("i"); //创建i节点          
          newnode.innerHTML = "javascript"; //给i节点添加内容          
          oldnode.parentNode.replaceChild(newnode,oldnode); //将b节点替换成i节点       
      }     
      </script>


  • Weiss3858599
    2020-08-19 09:49:28

    搜了下 直接b改i不行

    tagName 是只读的,要修改的话,只有动态生成其他标签来替换需要修改的标签

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题