2013-08-01 21 views
5

我想檢測所選元素是否僅包含& nbsp。如何在jQuery中過濾'&nbsp'?

例如:

if('td').is(':empty'){ 
    //do something... 
} 

上面的代碼將工作,如果<td><td>但不<td>&nbsp</td>

什麼是篩選出&nbsp的最佳方法?

回答

11

你可以修剪的字符串表示:

if ($('td').text().trim() == ""){ 
    //do something... 
} 

誠然,我在這裏做的相當大膽的假設,一般你不希望任何表單元格元素缺乏的文字,不管這是否是<td> </td><td><span></span></td>的情況。

如果第二個例子是誤報你的目的,你可以使用更嚴格的版本,像這樣:

var td = $('td'); 
if ((td.children().length == 0) && td.text().trim() == ""){ 
    //do something... 
} 

這保證了td不被認爲是比賽,如果它具有比文本節點等節點,不管它是否缺少文字。

5
if ($('td').html() == '&nbsp;') 
+3

我認爲OP真的想匹配任何變化的空 - 即。要麼是空的,要麼只包含空白。這僅僅匹配一個  – SpoonMeiser