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

createTextNode 和 innerHTML 在以下代码中的区别?使用innerHTML实现不了

<div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
  <a href="javascript:replaceMessage()"> 将加粗改为斜体</a>  
    <script type="text/javascript">
      function replaceMessage(){
          var newnode = document.createElement("i");
          var newnodeText = document.createTextNode("JavaScript");
	  newnode.appendChild(newnodeText);
          //newnode.innHTML = "JavaScript";
          //console.log(newnode);
          var oldnode = document.getElementById("oldnode");
	  oldnode.parentNode.replaceChild(newnode,oldnode);
       }


正在回答

3 回答

我试了用innerHTML是可以的

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

用newnode.innerHTML="JavaScript"其实也是可以实现的。innerHTML和createTextNode都可以把一段内容添加到一个节点中,区别是如果这段内容中有html标签(如你的例子中的)时表现就不同了,在createTextNode中会当作文本处理,不会被浏览器解析

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

createTextNode() 方法创建新的文本节点,而newnode.innHTML = "JavaScript";还是那个元素结点,只是值变成了 "JavaScript

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

紫陌东城 提问者

谢谢,但还是不太理解,newnode.innHTML = "JavaScript" ,JavaScript是存在DOM里的话,JavaScript就是i元素中的文本节点,上面的代码用innerHTML也应该能实现
2018-02-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468190    人
  • 解答问题       21891    个

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

进入课程

createTextNode 和 innerHTML 在以下代码中的区别?使用innerHTML实现不了

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