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

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

<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 回答

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

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

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

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

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


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

慕粉1472472137 回复 sz_yeefun 提问者

你把function这个函数最后定义成了只输出x,innerHTML,然后a标签调用了这个函数输出的结果就是JavaScript,所以其他字就没有了,剩下JavaScript
2016-09-07 回复 有任何疑惑可以回复我~
#2

sz_yeefun 提问者

還是不太懂,為什麼它不是只多輸出 x,innerHTML,而是連前面的指令也覆蓋掉呢?
2016-09-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号