jQuery - 如果div为空,则隐藏按钮/链接

时间:2017-10-05 19:55:07

标签: jquery

要温柔,还在学习但我的代码有什么问题,我需要查看每个容器div,查看某个div是否为空并删除链接/按钮。

$('.eventText').each( function () {
if( $('.exPanel').is(':empty') ) {
        $('a.eventLink').hide();
    }
});

FIDDLE

任何帮助都将不胜感激。

由于

4 个答案:

答案 0 :(得分:0)

这里有几点需要考虑......

首先,如果某个元素在某些浏览器中包含换行符,则该元素不是:empty,因此您可能需要查看内部。

我还使用上下文来查找当前匹配中的元素,而不是查找所有元素。

$('.eventText').each( function () {
  console.log($('.exPanel', this));

  if(!$.trim($('.exPanel', this).html())) {
      $('a.eventLink', this).hide();
  }
});

答案 1 :(得分:0)

在您的代码中,\MyAppTest\Foo不是空的。您应该使用jQuery' s .exPanel

添加更多代码来修剪空白
trim()

if ($.trim($('.exPanel').html().length) < 1) {
    $('a.eventLink').hide();
}

答案 2 :(得分:0)

你可以用这个

if ( $('.exPanel').children().length < 1 ) {
     // do something
}

children()函数返回包含子项的JQuery对象。所以你只需要检查大小,看看它是否少于一个孩子,等于没有孩子

答案 3 :(得分:0)

试试这个

$('.eventText .exPanel').each(function(){
  if (!$(this).text().trim().length) {
    $(this).siblings('a.eventLink').hide();
  } 
});