2010-09-14 58 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