1

我知道这必须非常简单,但我一直在用头撞墙。我的 HTML 是:

<div class="awardsparent">
<h4>AWARDS</h4>
<ul class="awards"><li></li></ul>
</div>

如果 ul.awards li 为空,我正在尝试隐藏容器 div.awardsparent。这是我的 jQuery 代码:

$(function() {          
  if($('ul.awards li:empty')) {
  $('div.awardsparent').hide();
    }
});

谢谢!如果您需要更多信息,请告诉我。

4

3 回答 3

3

尝试:

if ($('ul.awards li').is(':empty')) {
    $('div.awardsparent').hide();
}​

jsFiddle 示例

于 2012-12-11T22:00:23.413 回答
3

从技术上讲,您甚至可能不需要 if 测试,只需让 jQuery 的空选择器发挥作用即可。

这一个班轮应该做到这一点。

$("ul.awards li:empty").closest('div.awardsparent').hide()

编辑:空选择器我的意思是如果$("ul.awards li:empty")返回一些东西,那么它会隐藏父级,但如果选择是空的,它会默默地忽略它,closest()因为没有任何东西可以应用它。

于 2012-12-11T22:02:33.067 回答
1

尝试使用.length,如:

if ($("ul.awards li:empty").length)
于 2012-12-11T21:59:38.640 回答