html特殊符号显示为字符

时间:2013-09-13 06:49:23

标签: javascript html htmlspecialchars

我一直在尝试使用JS动态设置文本输入的内容,我遇到的问题是我不能让浏览器呈现特殊符号而不是字符,例如

document.getElementById("textField").value = "nbsp";

不是显示它显示的空格,而是任何人都知道了吗?

非常感谢

5 个答案:

答案 0 :(得分:2)

您似乎想在JavaScript字符串文字中输入特殊字符,例如NO-BREAK SPACE。您可以直接执行此操作,前提是正确声明包含JavaScript代码的文件的character encoding,无论如何应该如此:

document.getElementById("textField").value = ' ';

这里撇号之间的字符是真正的NO-BREAK SPACE字符。在渲染中,它通常与普通SPACE无法区分,但它具有不同的效果。同样,你可以写例如。

document.getElementById("textField").value = 'Ω';

直接使用希腊字母大写字母omega。

如果您不知道如何输入此类字符(例如,通过Windows CharMap程序)或者您无法控制字符编码问题,则可以将JavaScript Unicode escape notations用于字符,例如

document.getElementById("textField").value = '\u00A0'; // no-break space

document.getElementById("textField").value = '\u03A9'; // capital omega

对于Unicode数字小于0x100的小字符集,您也可以使用\x转义符,例如'\xA0'代替'\u00A0'。 (但如果您不知道这一点,最好学会使用通用\u转义。)

答案 1 :(得分:1)

 是一个HTML实体,您不能将HTML实体放在这样的文本字段中。


尝试使用unicode,如下所示:

document.getElementById("textField").value = '\xA0';

答案 2 :(得分:0)

document.getElementById("textField").value = " ";

答案 3 :(得分:0)

你应该使用“”代替“nbsp”

答案 4 :(得分:0)

如何使用jquery和这个:

$("#textField").html('&nbsp').text()

或者更一般:

$(element).html(encodedString).text()