在jquery中将body的一部分移动到iframe中

时间:2012-08-07 23:14:50

标签: jquery

更新:我的目的似乎不需要iframe。似乎jQuery/JavaScript: accessing contents of an iframe也回答了我的问题。

我已经尝试了几种变体,它拒绝做任何事情。有时候我会得到一个空的iframe,有时我什么都得不到。

我有一个id为'contents'的元素,它是正文的直接子元素。我希望在正文中创建一个新的iframe,并将'contents'及其所有子节点移动到iframe中,同时在上下文中保留dom层次结构。

我目前的尝试是:

frame = $("<iframe frameborder=\"1\" height=\"100%\">");
        frame.appendTo("body");
        $("#contents").detach().prependTo($("body", frame));

但这只是将“内容”抹去了遗忘。没有'分离'这样做就会让'内容'保持不变。从prependTo中删除'body'选择器会再次删除'contents',而不会出现在iframe中。

编辑:似乎某些事情更根本错误,如下所示的更简单的代码也失败了:

frame = $("<iframe frameborder=\"1\" height=\"100%\">");
        frame.appendTo("body");
$("<b>text</b>").appendTo(frame);

1 个答案:

答案 0 :(得分:0)

您需要访问iframe的内容而不是iframe本身。如下所示:

frame.contents().find('html body').html("<b>text</b>")

这会将HTML注入iframe的主体。

http://api.jquery.com/contents/