HTML:停止渲染DIV
问题描述:
中的HTML代码。如果我写的东西像下面里面的textareaHTML:停止渲染DIV
<strong>test</strong>
内textarea的,然后它显示一个div内。它以粗体字显示文本,而不是像现在这样显示html代码。所以我如何避免呈现HTML代码。我只想显示它是由用户输入的文本。
答
你需要躲避HTML格式
var someHtmlString = "<strong>test</strong>";
var escaped = $("div.someClass").text(someHtmlString).html();
答
您还没有我们表现出任何代码,这应该工作,但因为您已为此标记jQuery
I “会假设你有这样的:
$('div').html(
$('textarea').val()
);
使用text
方法来代替,那么什么用户键入的文本,而不是HTML进行处理。
$('div').text(
$('textarea').val()
);
请参阅a demonstration。
答
<strong>test</strong>
产生<strong>test</strong>
这些被称为HTML实体和行为一样,因为通常<foo>
意味着HTML标记,它应该被渲染。 Read more about HTML entities on w3schools
答
您可以使用<pre>
标记,以便它按原样显示用户输入。这会保留所有格式如空格和换行
<textarea rows="4" cols="50"></textarea>
<div>
<pre id="output">
</pre>
</div>
JS
$('textarea').keyup(function(){
$('#output').text($(this).val());
});
http://jsfiddle.net/WPQLP/1/我不能复制你的错误。 – Madthew 2013-05-08 16:30:28
@Madthew - 由于您尝试复制它不包括textarea或div,并且不会将所输入的textarea放置在div中,这并不奇怪。 – Quentin 2013-05-08 16:31:41
http://jsfiddle.net/WPQLP/2/所以它现在应该工作。忘记更新djsfiddle。 – Madthew 2013-05-08 16:33:16