4

我正在尝试在看起来像这样的文档的最顶部插入一段 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...

这是怎么回事?

4

2 回答 2

1

davidkonrad 是对的,您需要在某些内容中插入文本节点。

var frameSet = document.getElementById('topframeset');
var textNode = document.createTextNode('<h1>hello</h1>');
frameSet.parentNode.insertBefore(textNode, frameSet);
于 2012-10-17T12:00:11.530 回答
1

您需要将<h1>-textNode 插入到某些东西中,例如 body

document.body.insertBefore(document.createTextNode("<h1>hello</h1>"),
document.getElementById("topframeset"))

它有效

于 2012-10-17T09:58:03.377 回答