0

直接在 HTML 中和通过 JavaScript 与输入字段的设置值不一致。

这是示例:

   <!DOCTYPE html>
   <html>
   <body>
   <input type="text" id="f1" ><br>
   <input type="text" id="f2"  value="123&apos;134"><br>
   <input type="text" id="f3" ><br>
   <input type="text" id="f4" value="123\'134"><br>
   </body>
   </html>​

document.getElementById('f1').value = "123&apos;134";
document.getElementById('f3').value = "123\'134";​

在这里运行

http://jsfiddle.net/UfaJk/2/

当我在 HTML 中设置属性值时,HTML 实体很好,转义字符不是,当通过 JavaScript 设置时,都是向后的......

如何处理?

4

2 回答 2

1

HTML 被解析为 HTML,它有特定的转义规则,例如字符串&apos;应该被解释为撇号'字符。

同样,javascript 有自己的(和不同的)转义规则,例如字符串\'应该被解释为撇号'字符。

于 2012-10-23T14:54:46.850 回答
0

反斜杠是 javascipt 中的转义字符,为了输出反斜杠文字,您需要为要输出的每个反斜杠设置两个反斜杠。例如:

 document.getElementById('f3').value = "123\\'134";​

希望这可以帮助。

于 2012-10-23T14:56:24.987 回答