如果另一个div包含任何文本或内容或html,则隐藏div

时间:2015-08-18 10:28:27

标签: javascript jquery

如果其中的display:block;包含任何内容,HTML,文字或任何内容,我希望div包装div。

<div id="wrapper" style="display:none">

    <ul id="checkforcontent"></ul>
    <ul id="checkforcontent"></ul>
    <ul id="checkforcontent"></ul>
    <ul id="checkforcontent"></ul>

</div>

因此,对于上述示例,如果<ul>中的任何一个有任何内容,例如:

<ul id="checkforcontent"><li>Hello</li></ul>

然后我希望div#wrapper成为display:block;,否则如果ul没有任何内容我仍然希望它保持隐藏状态。< / p>

这可能吗?

由于

3 个答案:

答案 0 :(得分:1)

您可以检查是否有任何文本内容,并根据该设置显示div

var $wrapper = $('#wrapper');
$wrapper.toggle($wrapper.text().trim().length>0)

注意:元素的ID必须是唯一的

答案 1 :(得分:1)

检查div中是否有任何li元素,如果有,则显示div:

var $div = $("#wrapper");
if ($div.find("li").length > 0) {
  $div.show();
}

答案 2 :(得分:1)

在线上做:

var $wrapper = $('#wrapper');
$wrapper.toggle(!!$wrapper.find("ul>li").length);

JSFiddle