如何在jQuery中过滤掉''?

时间:2013-08-01 22:56:41

标签: jquery

我正在尝试检测所选元素是否仅包含& nbsp。

例如:

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

以上代码适用于<td><td>但不适用<td>&nbsp</td>

过滤掉&nbsp的最佳方式是什么?

2 个答案:

答案 0 :(得分: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具有除文本节点以外的节点,则确保{{1}}不被视为匹配。无论其是否缺少文本。

答案 1 :(得分:5)

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