1

変更なしで要素の内容を取得したい。.html() を使用すると、不必要に文字がエスケープ&され&ます。

私のコードでは、コンテンツはサーバーからのデータです。問題は、元のデータがエスケープされていることです。また、エスケープ解除プロセスを使用したくありません。これは、元のデータを 2 回変更することを意味します。

どんなアイデアでも大歓迎です。

コードは次のとおりです。

<html>
<head>
  <style>
  p { color:blue; margin:8px; }
  b { color:red; }
  </style>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</head>
<body>
  <p><b>Hey, Give me originial HTML contents</b>, "& < >" without any escapes. pls</p>
  <p></p>
<script>
var str = $("p:first").html();
$("p:last").text(str);
</script>
</body>
</html>

EDIT:上記のように、変更のないデータが必要です。HTMLタグも。私は .text() が何をするか知っています。

EDIT2: strは正確でなければなりません。<b>Hey, Give me originial HTML contents</b>, "& < >" without any escapes. pls. 正しい表示方法の質問ではないことをご理解ください。変数strは、正しい (元の) データを保持する必要があります。

4

3 に答える 3

4

同じ組み合わせを使用する必要があります:-

var str = $("p:first").html();
$("p:last").html(str);

また

var str = $("p:first").text();
$("p:last").text(str);

または、タグをそのまま表示したい場合は、「<」、「>」、「&」などをエスケープする必要があります

var  str = $('p:first').html();
str = str.replace(/>/g,"&gt;").replace(/</g, "&lt;");
$("p:last").html(str);
于 2013-05-09T04:03:11.223 に答える
0

変化する

$("p:last").text(str);

$("p:last").html(str);

jsフィドル

于 2013-05-09T04:02:27.800 に答える
0

以下のコードは、innerhtml をそのまま別の要素にコピーするのに問題なく動作します。 Jquery フィドル

var str = $("p:first").innerHtml();
$("p:last").text(str);
于 2013-05-09T05:32:46.377 に答える