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

创建文本节点和使用innerHTML的却别

这里不使用创建文本节点而直接使用i.innerHTML="javascript";为什么不行?。。

正在回答

3 回答

可以用innerHTML 设置的啊,设置完了,再替换。代码:

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

       newnode.innerHTML=oldnode.innerHTML;
       oldnode.parentNode.replaceChild(newnode,oldnode);

   }
</script>

</body>
</html>

1 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
    <div id="div">
        <b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。
    </div>
    <a href="javascript:replaceMessage()"> 将加粗改为斜体</a>
    <script type="text/javascript">
      function replaceMessage(){
          var newnode = document.createElement("i");
          var div = document.getElementById('div');
          newnode.innerHTML = "javascript";
          div.appendChild(newnode);
       }    
    </script>
 </body>
</html>


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

i.innerHTML="javascript"; 这样肯定不行了。这这是创建一个标签为i的元素,可是这个元素你都没有加到页面中。它怎么能渲染出来!

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

H0先生 提问者

可是我把这个标签插入到页面中后使用了也还是不行额。。。
2015-09-05 回复 有任何疑惑可以回复我~
#2

Y_du 回复 H0先生 提问者

可以的,看代码
2015-09-05 回复 有任何疑惑可以回复我~
#3

H0先生 提问者 回复 Y_du

你这样我也知道可以,但是这只是实现了添加而已,并不能实现替代。。。我的疑问是使用innerHTML进行内容设置之后为什么不能实现替代了?。是一定要新创建新的文本节点添加内容才可以么?。。
2015-09-05 回复 有任何疑惑可以回复我~
#4

hooli 回复 H0先生 提问者

可以用innerHTML 设置的啊,设置完了,再替换。代码: function replaceMessage(){ var newnode = document.createElement("i"); var oldnode = document.getElementById("oldnode"); newnode.innerHTML=oldnode.innerHTML; oldnode.parentNode.replaceChild(newnode,oldnode); }
2015-09-15 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

创建文本节点和使用innerHTML的却别

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