2013-08-01 17 views
5

選択した要素に& nbspのみが含まれているかどうかを検出しようとしています。例えばjQueryで '&nbsp'をフィルタリングする方法は?

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

上記コードは<td>&nbsp</td><td><td>場合ではなく、仕事であろう。

&nbspを除外する最良の方法は何ですか? 、私は関係なく、これがあるかどうかの、一般的にテキストの任意のテーブルセル要素が欠けてほしくないことをここでかなり大胆な仮定を作ってるんだ確か

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

答えて

11

あなたは、文字列表現をトリミング可能性<td> </td>または<td><span></span></td>の場合

2番目の例では、あなたの目的のために偽陽性の場合はそうのように、あなたは、より厳密なバージョンを使用することができます。

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

これは、それがテキストノード以外のノードを持っている場合tdが一致と見なさないようにしていますがテキストが欠けているかどうかにかかわらず。

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

私はOPが実際には何のバリエーションにもマッチしたいと思っています。実際に空であるか、または空白のみを含むかのいずれかです。これは文字通り、単一の と一致します – SpoonMeiser

関連する問題