為何加上 document.write(x.innerHTML) 後,按下連結,會只出現 JavaScript ?

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

sz_yeefun

2016-09-06 22:25

<body>
    <div><b id="oldnode">JavaScript</b>是一个很常用的技术,为网页添加动态效果。</div>
    <a href="javascript:replaceMessage()">将加粗改为斜体</a>
<script type="text/javascript">
    function replaceMessage(){
        var oldnode = document.getElementById("oldnode");
        var oldHTML = oldnode.innerHTML;
        var newnode = document.createElement("i");        
        var x = oldnode.parentNode.replaceChild(newnode, oldnode);
        newnode.innerHTML = oldHTML;
        document.write(x.innerHTML); //在答案裡多加這條代碼
    }    
</script>
</body>
為什麼加上 document.write(x.innerHTML) 後,按下"将加粗改为斜体",會只剩下 JavaScript ,而其它字都不見了?(也就是"是一个很常用的技术,为网页添加动态效果。"和"将加粗改为斜体"這些字不見了)
写回答 关注

2回答

  • 青青灬子衿3370888
    2016-09-23 23:08:40

    题主为什么用繁体字,是来自台湾吗。

    顺便会打一下问题,因为你点击链接之后调用函数,里面的样式改变,但是后面添加document.write(),输出了x的内容,覆盖掉了之前的内容了

  • 慕粉1472472137
    2016-09-07 01:35:40

    document.write(x.innerHTML);//输出x中的内容

    x的内容是JavaScript并没有改变只是<p>JavaScript</p>变成<i>JavaScript</i> 


    sz_yee...

    還是不太懂,為什麼它不是只多輸出 x,innerHTML,而是連前面的指令也覆蓋掉呢?

    2016-09-08 03:39:31

    共 3 条回复 >

JavaScript进阶篇

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

468788 学习 · 22582 问题

查看课程

相似问题