查找元素在jquery中是否有空元素

查找元素在jquery中是否有空元素,jquery,Jquery,我需要找出一个div元素是否为空,该元素由我无法控制的系统中的许多表填充。空的意思是如果div中的表没有任何内容 这是系统生成的精简标记: <div class="shadowBox"> <table> <tbody> <tr> <td> <table> &l

我需要找出一个
div
元素是否为空,该元素由我无法控制的系统中的许多表填充。空的意思是如果div中的表没有任何内容

这是系统生成的精简标记:

<div class="shadowBox">
    <table>
        <tbody>
            <tr>
                <td>
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>
    </table>
</div>
有更简单的方法吗?

您可以使用

其中:

获取匹配集合中每个元素的组合文本内容 元素,包括其子元素

如果是空的,请隐藏它

if($.trim($(".shadowBox").text())===""){
     $(".shadowBox").hide();
}
你可以用

其中:

获取匹配集合中每个元素的组合文本内容 元素,包括其子元素

如果是空的,请隐藏它

if($.trim($(".shadowBox").text())===""){
     $(".shadowBox").hide();
}

查看jquery
:empty
()选择器


查看jquery
:empty
()选择器

那就行了。text()将获取所选元素中的所有文本(无html)

那就行了。text()将获取所选元素中的所有文本(无html)。

您可能需要使用

它将返回div的每个后代的组合文本内容

if($(".shadowBox").text() == '')
    console.log('Empty');
您可能想使用

它将返回div的每个后代的组合文本内容

if($(".shadowBox").text() == '')
    console.log('Empty');

此解决方案将获取所有具有shadowBox类但没有内容的div

代码如下:

$(".shadowBox").filter(function () {
    return $.trim($(this).text()) === "";
}).hide();

测试它。

此解决方案将获得所有具有shadowBox类但没有内容的div

代码如下:

$(".shadowBox").filter(function () {
    return $.trim($(this).text()) === "";
}).hide();

测试它。

Empty不起作用,我必须修剪td的html,看看它的emtpyEmpty是否起作用,我必须修剪td的html,看看它的emtpyDidn是否知道text()方法从子体返回组合文本didn不知道text()方法从子体返回组合文本
$(".shadowBox").filter(function () {
    return $.trim($(this).text()) === "";
}).hide();