我已经尝试了this,但它没有用。
这是我的代码:JSFiddle
<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>
我的问题是我想将html附加到iframe但它无效。它始终将html附加到iframe之外。
答案 0 :(得分:2)
$("iframe#result")[0].contentDocument.document
返回undefined。
$("iframe#result")[0].contentDocument
would be correct。
PS:$("iframe#result").contents().find("body")
works as well。