据我所知,这段代码应该有效,但事实并非如此,而且我完全难过了。有什么想法吗?
的jQuery
$('.article_chooser').click(function() {
var src = $(this).attr('value');
$("#doc_edits_attributes_0_body").parent("iframe html body").html($("#article"+src).html());
console.log($("#doc_edits_attributes_0_body").parent("iframe html body").html());
});
HTML
<textarea class="editable_areas" cols="40" id="doc_edits_attributes_0_body" name="doc[edits_attributes][0][body]" rows="20" style="display: none;"></textarea>
<iframe class="wysihtml5-sandbox" security="restricted" allowtransparency="true" frameborder="0" width="0" height="0" marginwidth="0" marginheight="0">
<html>
<body marginwidth="0" marginheight="0" contenteditable="true" class="editable_areas wysihtml5-editor" spellcheck="true">
</body>
</html>
</iframe>
干杯!
答案 0 :(得分:9)
要修改iframe的内容,您必须在iframe中调用body
标记:
<iframe class="wysihtml5-sandbox" security="restricted" allowtransparency="true" frameborder="0" width="0" height="0" marginwidth="0" marginheight="0" id="iframe">
<html>
<body marginwidth="0" marginheight="0" contenteditable="true" class="editable_areas wysihtml5-editor" spellcheck="true">
</body>
</html>
</iframe>
<script type="text/javascript">
$(document).ready(function() {
$('#iframe').contents().find('body').html('New Content');
});
</script>
答案 1 :(得分:2)
wysihtml5
插件有API,您可以使用getValue
方法:
var value = editorInstance.getValue();
或者,如果要设置值,可以使用setValue
方法:
editorInstance.setValue('a string');
或者,如果您想要附加html内容,可以使用.exec()
方法:
editorInstance.composer.commands.exec("insertHTML", "<p>bar</p>");