不间断的空间
这显然不工作:
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 = ''; } 
或者,您也可以手动从字符代码创build字符,它的Javascript转义forms:
 var x = td.text(); if (x == String.fromCharCode(160)) { // Non-breakable space is char 160 x = ''; } 
 有关String.fromCharCode更多信息,请点击这里: 
fromCharCode – MDC Doc Center
有关不同字符集的字符代码的更多信息,请访问:
Windows-1252字符集
UTF-8字符集
 记住.text()去掉标记,所以我不相信你会find  在非标记结果中。 
做出答复….
 var p = $('<p>').html(' '); if (p.text() == String.fromCharCode(160) && p.text() == '\xA0') alert('Character 160'); 
显示一个警报,因为返回标记的ASCII等价物。
该实体在浏览器呈现页面时被转换为它所表示的字符。 JS(jQuery)读取呈现的页面,因此它不会遇到这样的文本序列。 它可能遇到这样的事情的唯一方法是,如果你是双编码实体。
  text()的jQuery文档说 
由于不同浏览器中HTMLparsing器的差异,返回的文本可能在换行符和其他空白处有所不同。
 我会使用$td.html()来代替。