我正在尝试在文档的最顶部插入一段HTML,看起来有点像这样:
<html>
<frameset onunload="unload()" onload="loadme()" id="topframeset" frameborder="0" framespacing="0" rows="45,19,10,0,*,22">
(...)
</frameset>
</html>
好的 - 看起来很容易。在Firebug中,我可以做到:
>>> document.getElementById("topframeset")
<frameset id="topframeset" onunload="unload()" onload="loadme()" frameborder="0" framespacing="0" rows="45,19,10,0,*,22">
所以它发现没问题。
然后:
document.insertBefore(document.createTextNode("<h1>hello</h1>"), document.getElementById("topframeset"))
Error: Node was not found
[Break On This Error]
...ertBefore(document.createTextNode("<h1>hello</h1>"), document.getElementById("to...
发生了什么事?
答案 0 :(得分:1)
您需要在某些内容中插入<h1>
- textNode,例如body
document.body.insertBefore(document.createTextNode("<h1>hello</h1>"),
document.getElementById("topframeset"))
并且有效
答案 1 :(得分:1)
davidkonrad是对的,您需要在某些内容中插入文本节点。
var frameSet = document.getElementById('topframeset');
var textNode = document.createTextNode('<h1>hello</h1>');
frameSet.parentNode.insertBefore(textNode, frameSet);