为什么在书签中追加innerHTML会覆盖整个页面?

时间:2013-03-08 00:33:22

标签: javascript bookmarklet

我有这个小书签:

javascript:document.getElementsByTagName("div")[0].innerHTML+="Chuck Norris";

现在很明显假设占据了页面上的第一个div,并将Chuck Norris添加到其中。

相反,当粘贴在地址栏上时,查克诺里斯会覆盖该页面。

为什么会这样?

注意:在Safari上不会发生这种情况......

2 个答案:

答案 0 :(得分:5)

您没有取消该操作。添加void 0;然后结束。

javascript:document.getElementsByTagName("div")[0].innerHTML+="Chuck Norris";void 0;

答案 1 :(得分:-1)

我不确定究竟是什么问题,但我通过制作textNode并附加它来实现它:

javascript:var d=document.getElementsByTagName("div")[0];var n=document.createTextNode("Chuck Norris");d.appendChild(n);