我有一个带按钮的简单textarea:
我用
更改textarea的内容$("button.test").click(function(){
$("#config_oh").contentEditable = true;
$("#config_oh").html("Hello World);
});
这很有效。但是如果我在textarea中输入并重新运行脚本,它就不起作用:内容在那里(我可以通过Chrome检查器看到它)但网页上没有显示任何内容。为什么呢?
如果我使用textarea
更新val()
的内容,则可以使用,但不会执行HTML呈现,例如我看到html特殊字符。
答案 0 :(得分:0)
替换
$("#config_oh").html("Hello World);
与
$("#config_oh").val("Hello World");
答案 1 :(得分:0)
就个人而言,我建议根据评论的建议制作一个具有conteneditable = true的客户div。通过这种方式,.html()方法可以正常工作。
<style>
.editable {
width: 100%;
height: 200px;
border: 1px solid #ccc;
padding: 5px;
resize: both;
overflow: auto;
}
</style>
<button class="test">Click</button>
<div class="editable" contenteditable="true" id="config_oh"> MY TEXT HERE </div>
<script>
$("button.test").click(function(){
$("#config_oh").html("Hello World);
});
</script>
通过这种方式,即使在“textarea”内部输入后,按钮点击也会按预期工作。
答案 2 :(得分:0)
您必须在输入类型框中设置文本。你使用val()。 输入类型具有属性值。 例如:
$("#config_oh").val("Hello World");
应该这样做