我一直在尝试使用 JS 动态设置文本输入的内容,我遇到的问题是我不能让浏览器呈现特殊符号而不是字符,例如
document.getElementById("textField").value = "nbsp";
不是显示空间而是显示 ,有人知道吗?
非常感谢
我一直在尝试使用 JS 动态设置文本输入的内容,我遇到的问题是我不能让浏览器呈现特殊符号而不是字符,例如
document.getElementById("textField").value = "nbsp";
不是显示空间而是显示 ,有人知道吗?
非常感谢
您似乎想在 JavaScript 字符串文字中输入特殊字符,例如 NO-BREAK SPACE。您可以直接执行此操作,前提是正确声明了包含 JavaScript 代码的文件的字符编码,无论如何都应该这样:
document.getElementById("textField").value = ' ';
这里撇号之间的字符是真正的 NO-BREAK SPACE 字符。在渲染中,它通常与普通 SPACE 没有区别,但效果不同。同样,您可以编写例如
document.getElementById("textField").value = 'Ω';
直接使用希腊字母大写 omega。
如果您不知道如何输入这些字符(例如,通过 Windows CharMap 程序)或者您无法控制字符编码问题,您可以使用 JavaScript Unicode 转义符号来处理字符,例如
document.getElementById("textField").value = '\u00A0'; // no-break space
或者
document.getElementById("textField").value = '\u03A9'; // capital omega
对于 Unicode 编号小于 0x100 的一小组字符,您可以选择使用\x
转义符,例如,'\xA0'
而不是'\u00A0'
. (但如果你不知道这一点,最好学会使用通用\u
转义。)
是一个 HTML 实体,您不能将 HTML 实体放在这样的文本字段中。
尝试使用 unicode,如下所示:
document.getElementById("textField").value = '\xA0';
document.getElementById("textField").value = " ";
你应该使用“”而不是“nbsp”
使用 jquery 和这个怎么样:
$("#textField").html(' ').text()
或者更笼统地说:
$(element).html(encodedString).text()