jQuery文档text()
说
由于不同浏览器中HTML解析器的差异,返回的文本可能在换行符和其他空白区域中有所不同。
我会用$td.html()
。
var item = $('<span><font size=1> </font></span>').text()
item == " "
返回false
var item = $("<span><font size=1> </font></span>").text();
alert(item == '\xa0');//true
实际上它也适用于Firefox,谷歌,苹果PC,IE5+,也可能在其他浏览器中。
是一个HTML实体。当这样做时.text()
,所有HTML实体都被解码为它们的字符值。
使用实际的原始字符进行比较,而不是使用实体进行比较:
var x = td.text();
if (x == '\xa0') { // Non-breakable space is char 0xa0 (160 dec)
x = '';
}
或者,您也可以手动从字符代码中创建字符,并使用其转义形式:
var x = td.text();
if (x == String.fromCharCode(160)) { // Non-breakable space is char 160
x = '';
}
var p = $('<p>').html(' ');
if (p.text() == String.fromCharCode(160) && p.text() == '\xA0')
alert('Character 160');
有关更多信息,String.fromCharCode
请点击此处:
有关不同字符集的字符代码的更多信息,请点击此处:
https://stackoverflow.com/questions/8039182/matching-jquery-text-to-nbsp
https://stackoverflow.com/questions/5237989/nonbreaking-space