0

更新:我的目的似乎不需要 iframe。似乎jQuery/JavaScript:访问 iframe 的内容也回答了我的问题。

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

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

我目前的尝试是:

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

但这只是将“内容”抹去。在没有“分离”的情况下进行操作会使“内容”保持不变。从 prependTo 中删除“正文”选择器会再次删除“内容”,而不会出现在 iframe 中。

编辑:似乎有些东西根本上是错误的,如下所示的更简单的代码也失败了:

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

1 回答 1

0

您需要访问 iframe 的内容而不是 iframe 本身。所以类似于以下内容:

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

这会将 HTML 注入 iframe 的主体。

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

于 2012-08-07T23:36:53.967 回答