2010-09-14 54 views
0

我有以下的javascript的JavaScript編碼解碼問題

var cst = "\x26"; 
var other = $("#D1").html(); 

而我的HTML有D1 DIV像下面

<div id="D1">\x26</div> 

現在,當我添加斷點,看看我的兩個變量CST等。一個顯示爲&和另一個\ x26。 也

cst.length == 1  

other.length == 4 

我很困惑。我需要其他的價值相同(&),我不能改變分區。 我也使用jQuery,所以我可以使用$(div_id)

回答

1

HTML不使用JavaScript風格的轉義字符串。

你的<div>實際上是說\x26,而不是&

+0

那麼我該如何將它轉換回&in Javascript?我無法更改Div,我需要輸出爲& – Tanmoy 2010-09-14 14:13:18

0

試試這個。

var other = eval("'" + $("#D1").html() + "'"); 
+0

謝謝。有用。但我不贊成eval。如果我沒有得到任何其他工作答案,我會選擇這個。 – Tanmoy 2010-09-14 14:23:58

+0

使用文本內容(jQuery中的'text()'),而不是'innerHTML' /'html()',它將應用額外的HTML編碼。在可用的情況下,'JSON.parse'比'eval'更安全。您可能需要檢查字符串中是否有未轉義的引號或換行符,否則將其評估爲「否」。 – bobince 2010-09-14 14:31:31