试一试,补充函数 replaceMessage() 代码,实现将 b 标签替换成 i 标签。我 这样写对不对?

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

慕的地0485877

2020-05-13 10:12

<!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.creatElement("i");  

var newNodetext=document.creatElementTextNode("JavaScript");

newNode.appendChild(newNodetext);

var oldNode=document.creatElement("oldnode");

oldNode.parentNode.replaceChild(newNode,oldNode);

       }    

  </script>

  

 </body>

</html>


写回答 关注

2回答

  • 啊屁
    2020-08-07 13:24:03

    var oldNode=document.creatElement("oldnode");

    这是创建新节点,应该是获取旧节点

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

  • 几盎丶
    2020-06-10 08:04:00

    var oldNode=document.creatElement("oldnode");

    这里你是向获取到旧的结点吧?写错了哦。

    其次,当你换完之后你发现i和p比较是不是还少了一个id的属性

    所以需要通过

    newNode.setAttribute('id',oldNode.getAttribute('id'));

    还有var newNodetext=document.creatElementTextNode("JavaScript");

    "javaScript"试着换成oldNode.innerHTML;这样不管p的innerHTML是什么你都可以替换到i中

    你可以试着通过这种思想,将replaceMessage函数变成一个可以随意替换元素的一个方法,

    function replaceMessage( newNode,  oldNode){

        函数体

    };

    不要过分深究适度哦

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题