更新:我的目的似乎不需要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);
答案 0 :(得分:0)
您需要访问iframe的内容而不是iframe本身。如下所示:
frame.contents().find('html body').html("<b>text</b>")
这会将HTML注入iframe的主体。