2011-11-07 41 views
15

由於我不能控制SharePoint的情況,因此我有以下代碼片段。將jquery.text()匹配到 

var item = $('<span><font size=1>&nbsp;</font></span>').text() 

我想比較.text()價值&nbsp;,不知道該怎麼辦。逐步通過代碼item似乎等於「」,這是有道理的。但是做item == " "返回false。應如何進行比較?

編輯:實施例撥弄

http://jsfiddle.net/hUBeP/2/

+0

它實際上是[字符0xA0](http://www.fileformat.info/info/unicode/char/a0/index.htm)嗎?但我認爲這可能依賴於瀏覽器 - 我不想依賴這一點。它是否匹配空格正則表達式? – Rup

+0

看看這個:http://stackoverflow.com/questions/5237989/nonbreaking-space – Samich

回答

42

嘗試檢查'\xa0'(這是由&nbsp;創建的字符):

var item = $("<span><font size=1>&nbsp;</font></span>").text(); 
alert("'" + item + "' " + (item == '\xa0')); 

http://jsfiddle.net/hUBeP/3/

+0

這樣做了! @Rup - 它只會在IE中運行,所以瀏覽器依賴並不是一個問題。乾杯。 – anothershrubery

+0

實際上它也適用於Firefox,也可能在其他瀏覽器中。 – ThiefMaster

+0

是的,我無意中添加了最後的評論未完成。現在更新! – anothershrubery

0

比較它&nbsp;,因爲這是你想要匹配的內容。看起來並不是因爲瀏覽器呈現的是空間而不是字符。將其與&nbsp;進行比較應導致比較兩組&nbsp;或比較兩個相同的空間。

+0

從技術上講,我可以將它與'$(「

 

」).text()'進行比較。但是ThiefMaster的解決方案更清潔。 – anothershrubery

+0

同意,特別是因爲您不關心跨瀏覽器問題。 – yoozer8