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

2022-08-30 02:31:59

这显然不起作用:

X = $td.text();
if (X == ' ') {
X = '';
}

有没有一些不换行空格或&符号是JavaScript不喜欢的?


答案 1

 是一个 HTML 实体。当这样做时,所有的HTML实体都被解码为它们的字符值。.text()

与其使用实体进行比较,不如使用实际的原始字符进行比较:

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

或者,您也可以从字符代码中以Javascript转义形式手动创建字符:

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

更多信息请点击这里:String.fromCharCode

来自查德 - MDC 文档中心

有关不同字符集的字符代码的详细信息,请参阅:

视窗-1252 字符集
UTF-8 字符集


答案 2

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

做了一个答案....

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

显示警报,因为返回的是标记等效的 ASCII。