我一直在尝试使用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';
使用jQuery和这个怎么样:
$("#textField").html(' ').text()
或者更一般地说:
$(element).html(encodedString).text()
document.getElementById("textField").value = " ";
你应该使用“ ”而不是“nbsp”
(大于号)变成 > 您需要将每个字符转换为其特定的HTML条目,您可以使用简单的PHP函数htmlspecialchars()函数将特殊字符转换为HTML条目。 或者您可以使用<pre>标签来显示在此标签内编写的所有字符。- user2533777
" "
而不仅仅是"nbsp"
? - Jukka K. Korpela