5

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

例如:

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

<td><td>如果但不是,上述代码将起作用<td>&nbsp</td>

过滤掉的最好方法是&nbsp什么?

4

2 回答 2

11

您可以修剪字符串表示:

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

诚然,我在这里做了一个相当大胆的假设,一般来说,您不希望任何没有文本的表格单元格元素,无论这是否是<td> </td>or的情况<td><span></span></td>

如果第二个示例对您而言是误报,则可以使用更严格的版本,如下所示:

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

这确保了td如果它具有除文本节点之外的节点,则不会将其视为匹配项,无论它是否没有文本。

于 2013-08-01T22:58:39.300 回答
5
if ($('td').html() == '&nbsp;')
于 2013-08-01T22:59:12.853 回答