1

テキストエリア内に以下のようなものを書くと

<strong>test</strong>

textarea 内に配置し、div 内に表示します。htmlコードをそのまま表示するのではなく、テキストを太字で表示します。では、html コードのレンダリングを回避するにはどうすればよいでしょうか。ユーザーが入力したテキストをそのまま表示したいだけです。

4

5 に答える 5

3

あなたは私たちにコードを見せていませんが、これにタグを付けているので、jQuery次のようなものがあると思います:

$('div').html(
     $('textarea').val()
);

text代わりにメソッドを使用して、ユーザーが入力した内容が HTML ではなくテキストとして扱われるようにします。

$('div').text(
     $('textarea').val()
);

デモンストレーションをご覧ください。

于 2013-05-08T16:29:08.630 に答える
2

HTMLフォーマットをエスケープする必要があります

これはうまくいくはずです

var someHtmlString = "<strong>test</strong>";
var escaped = $("div.someClass").text(someHtmlString).html();

ソース

于 2013-05-08T16:28:39.727 に答える
2

タグを使用し<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/5/

于 2013-05-08T17:33:34.220 に答える
1

<および>文字を HTML エンティティにエスケープする必要があります。

&lt;strong&gt;test&lt;/strong&gt;

JSFiddle

于 2013-05-08T16:28:02.103 に答える
0

&lt;strong&gt;test&lt;/strong&gt;生産する<strong>test</strong>

これらは HTML エンティティと呼ばれ、通常<foo>は HTML タグを意味し、レンダリングされることになっているため、そのように動作します。w3schools の HTML エンティティの詳細を読む

于 2013-05-08T16:30:07.980 に答える