【问题标题】:jQuery hide only the empty elementjQuery只隐藏空元素
【发布时间】:2011-07-08 18:57:48
【问题描述】:

我正在开发一个标签功能,标签的包装元素 (span class="tag") 显示没有内容。我需要隐藏空的并显示带有内容的标签。问题是我的逻辑正在影响所有标签,而不仅仅是空标签。如何只定位空标签?

 $(".tag:empty").hide();
        $('.tag_btn').live('click', function() {
             if (!$('.tag:empty')){
                 $('.tag').show();
             }
        });

【问题讨论】:

  • .tag_btn隐藏在空的旁边怎么样? $(".tag:empty").sibling('.tag_btn').hide();

标签: javascript jquery hide


【解决方案1】:

编辑:好的,所以当您单击.tag_btn 时,您想显示所有非空的.tags 吗?试试这个:

$('.tag_btn').live('click', function() 
{
    $('.tag:not(:empty)').show();
});

【讨论】:

  • +1 你的回答比我的好。很好的发现 $('.tag:empty') 是一个选择器而不是一个布尔值......
  • tag_btn 是生成标签的按钮的选择器。
  • 谢谢。我不知道您可以在 jQuery 中应用 seudo-class :not 。单击“.tag_btn”后,我遇到了新的标签问题。直到创建了第二个标签,这两个非空标签才会显示出来。我认为现场活动会抓住这一点。哦,好吧..
【解决方案2】:

我不确定会发生什么,但这种替代方式是否可行?

$('.tag').each(function(){
    var tag = $(this);
    if ($.trim(tag.text() != ""))
    {
        tag.show();
    }
});

【讨论】:

    猜你喜欢
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 2011-01-22
    • 2015-10-23
    相关资源
    最近更新 更多