Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript字符串中表示不间断空格?_Javascript_Jquery - Fatal编程技术网

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

如何在JavaScript字符串中表示不间断空格?,javascript,jquery,Javascript,Jquery,这显然不起作用: X = $td.text(); if (X == ' ') { X = ''; } JavaScript不喜欢不间断空格或符号吗?是一个HTML实体。执行.text()时,所有HTML实体都将解码为其字符值 使用实际原始字符进行比较,而不是使用实体进行比较: var x = td.text(); if (x == '\xa0') { // Non-breakable space is char 0xa0 (160 dec) x = ''; } 或者,您

这显然不起作用:

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

JavaScript不喜欢不间断空格或符号吗?

是一个HTML实体。执行
.text()
时,所有HTML实体都将解码为其字符值

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

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
的更多信息,请访问:

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



浏览器呈现页面时,该实体将转换为它表示的字符。JS(jQuery)读取呈现的页面,因此不会遇到这样的文本序列。它遇到这种情况的唯一方法是对实体进行双重编码。

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

对答案的回答

var p=$(“”).html(“”);
if(p.text()==String.fromCharCode(160)&&p.text()='\xA0')
警报(“字符160”);

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

用于
text()
的jQuery文档显示

由于HTML解析器的变化 在不同的浏览器中,文本 返回的内容可能因换行和换行而异 其他空白


我会改用
$td.html()

不工作怎么办?那么你在用X做什么?哦,如果我说X=$td.html(),它会工作的。记住
.text()
会去掉标记,因此我不相信你会在非标记结果中找到
。我可能错了,但是text()不会扩展html实体吗?@Brad-你应该回答这个问题=使用jQuery我们可以看到,
$(“”).text().charCodeAt()
给出了
160
(unicode表示nbsp)@cobbal:非常正确。。。实际上这是更简单的方法。哇。这个答案太复杂了,一定是正确的!(我和JavaScript就像油和水)。但是,如果我被猛烈地震动,我们可能会混合在一起。普通的空格正在被打破,所以它是“\x20”,但最好使用“”。这会将html标记添加到页面的标记中。例如,字符串“”将是html元素。
var p = $('<p>').html('&nbsp;');
if (p.text() == String.fromCharCode(160) && p.text() == '\xA0')
    alert('Character 160');