簡體   English   中英

在jQuery中獲取元素的內容而不轉義

[英]Get contents of element without escaping in jQuery

我希望獲得元素的內容而不做任何更改。 當我使用.html()時,它會不必要地轉義字符,例如& &

在我的代碼中,Content是來自服務器的數據。 問題是原始數據已被轉義。 我也不想使用unescaping過程。 這意味着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>

編輯:如上所述,我需要數據而不做任何更改。 HTML標簽也是。 我知道.text()的作用。

EDIT2: str必須完全正確。 <b>Hey, Give me originial HTML contents</b>, "& < >" without any escapes. pls <b>Hey, Give me originial HTML contents</b>, "& < >" without any escapes. pls 請理解問題不在於如何正確顯示 變量str必須保存正確的(原始)數據。

你應該使用相同的組合: -

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);

更改

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

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

的jsfiddle

下面的代碼可以很好地將innerhtml復制到另一個元素中。 Jquery小提琴

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM