如何在jQuery中过滤掉'&nbsp'?

Fly*_*Cat 5 jquery

我试图检测所选元素是否仅包含.

例如:

if('td').is(':empty'){
   //do something...
}
Run Code Online (Sandbox Code Playgroud)

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

筛选出来的最佳方法是&nbsp什么?

Asa*_*din 11

你可以修剪字符串表示:

if ($('td').text().trim() == ""){
   //do something...
}
Run Code Online (Sandbox Code Playgroud)

诚然,我在这里做的相当大胆的假设,一般你不希望任何表单元格元素缺乏的文字,不管这是否是的情况下,<td> </td><td><span></span></td>.

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

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

td如果它具有除文本节点之外的节点,则确保不被视为匹配,无论它是否缺少文本.


Gol*_*rol 5

if ($('td').html() == '&nbsp;')
Run Code Online (Sandbox Code Playgroud)

  • 我认为OP真的想要匹配任何空的变化 - 即.实际上是空的,或者只包含空格.这只是字面上匹配的单个&nbsp; (3认同)