Javascript 使用jQuery将HTML附加到iframe
我试过了,但没用 这是我的密码:Javascript 使用jQuery将HTML附加到iframe,javascript,jquery,html,css,iframe,Javascript,Jquery,Html,Css,Iframe,我试过了,但没用 这是我的密码: var iframe_35;=$(“iframe#result”)[0].contentDocument.document; console.log(iframe_2;); 变量iframe=$(“body”,iframe_2;); var script=document.createElement('script'); script.type='text/javascript'; iframe.append(脚本) iframe.append(“”); $(
var iframe_35;=$(“iframe#result”)[0].contentDocument.document;
console.log(iframe_2;);
变量iframe=$(“body”,iframe_2;);
var script=document.createElement('script');
script.type='text/javascript';
iframe.append(脚本)
iframe.append(“”);
$(“div#body”).css({
背景:“f0”,
填充:“5px”,
宽度:“80%”
});
$(“iframe#result,textarea#html,textarea#css,textarea#javascript”).css({
宽度:“45%”,
边距:“2.5px”,
高度:“250px”,
边框:“1px实心#ccc”,
调整大小:“无”,
背景:“fff”
}).on(“键控”,函数(){
iframe.find(“script”).text=$(“textarea#javascript”).val();
iframe.find(“style”).html($($textarea#css”).val();
iframe.find(“div#r”).html($(($(“textarea#html”).val());
});
我的问题是,我想在iframe中附加html,但它不起作用。它总是将要附加的html放在iframe之外。$(“iframe#result”)[0]。contentDocument.document
返回未定义的
$(“iframe#result”)[0]。contentDocument
PS:
$(“iframe#result”).contents().find(“body”)
这里有一个很好的教程,介绍如何准确地完成您想要的内容:。非常简洁,易于理解…在我的一个项目中使用了它。var iframe=$(“iframe#result”).contents().find(“body”)代码>小心添加新元素的方式-您当前的设置看起来像是在不断添加新的块,而不是更新现有的块,这将进一步导致错误
<script src='jquery.js' type='text/javascript'></script>
<div id="body">
<textarea id="html"></textarea>
<textarea id="javascript"></textarea>
<textarea id="css"></textarea>
<iframe id='result'>
</iframe>
</div>
<script>
var iframe_ = $("iframe#result")[0].contentDocument.document;
console.log(iframe_);
var iframe = $("body", iframe_);
var script = document.createElement( 'script' );
script.type = 'text/javascript';
iframe.append(script)
iframe.append("<style type='text/css'></style><div id='r'></div>");
$("div#body").css({
background: "#f0f0f0",
padding: "5px",
width: "80%"
});
$("iframe#result, textarea#html, textarea#css, textarea#javascript").css({
width: "45%",
margin: "2.5px",
height: "250px",
border: "1px solid #ccc",
resize: "none",
background: "#fff"
}).on("keyup", function(){
iframe.find("script").text = $("textarea#javascript").val();
iframe.find("style").html($("textarea#css").val());
iframe.find("div#r").html($("textarea#html").val());
});
</script>