如何在JavaScript字符串中表示不间断的空格?

Phi*_*enn 97 javascript jquery

这显然不起作用:

X = $td.text();
if (X == ' ') {
X = '';
}
Run Code Online (Sandbox Code Playgroud)

有没有关于不间断的空间或JavaScript不喜欢的&符号?

And*_*ore 218

 是一个HTML实体.这样做时.text(),所有HTML实体都会被解码为其字符值.

而不是使用实体进行比较,使用实际原始字符进行比较:

var x = td.text();
if (x == '\xa0') { // Non-breakable space is char 0xa0 (160 dec)
  x = '';
}
Run Code Online (Sandbox Code Playgroud)

或者您也可以在其Javascript转义表单中手动创建字符代码中的字符:

var x = td.text();
if (x == String.fromCharCode(160)) { // Non-breakable space is char 160
  x = '';
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,String.fromCharCode请访问:

fromCharCode - MDC Doc Center

有关不同字符集的字符代码的更多信息,请访问:

Windows-1252 Charset
UTF-8 Charset

  • 哇.这个答案太复杂了,一定是对的!(我和JavaScript就像油和水).但也许如果我猛烈地动摇,我们会混在一起. (3认同)

Bra*_*tie 7

请记住,.text()除去标记,因此我不相信你会 在非标记结果中找到它.

提出答案....

var p = $('<p>').html('&nbsp;');
if (p.text() == String.fromCharCode(160) && p.text() == '\xA0')
    alert('Character 160');
Run Code Online (Sandbox Code Playgroud)

显示警报,因为返回标记的ASCII等效项.

  • 使用jQuery,我们可以看到`$("<div>&nbsp; </ div>").text().charCodeAt()`给出`160`(unicode for nbsp) (2认同)