2

如果列表被清空,我需要隐藏 H1 标题。

基本上我是在说。从选择下拉列表中选择;如果显示所选值,则隐藏所有其他值。现在我还需要说如果 list category[h1] title 为空,也隐藏它,否则显示 h1 标题。

http://jsfiddle.net/ajandthensome42/8Ye87/4/

如果有人可以提供帮助,我将非常感激。

  $(document).ready(function(){
     $("#selectForm").change(function(event) {
     $(".all").hide();
      $("." + this.value).fadeIn("slow");
      $(".multi").fadeIn("slow");


      var size = $(".language-list li").size();
      if(size === 0){
       $(".language-list h1").hide();
        }
       else {
       $(".language-list h1").show();
        }

       });
    });
4

2 回答 2

4

遍历所有 h1 标签并根据相邻列表是否有任何可见元素来显示/隐藏。尝试这个:

$( ".language-list h1" ).each(function() {
    if ($(this).next('ul').find('li:visible').length === 0) {
        $(this).hide();   
    } else {
        $(this).show();   
    }
});

把它放在上下文中,这是完整的更改处理程序:

$(document).ready(function() {
    $("#selectForm").change(function(event) {
        $(".all").hide();
        $("." + this.value).fadeIn("slow");
        $(".multi").fadeIn("slow");

        $( ".language-list h1" ).each(function() {
            if ($(this).next('ul').find('li:visible').length === 0) {
                 $(this).hide();   
            } else {
                $(this).show();   
            }
        });
    });
});
于 2013-06-07T21:21:18.457 回答
0

使用以下简单代码检查列表项的数量:

var size = $(".language-list li").size();

if(size === 0)
{
   ...
}
于 2013-06-07T20:58:34.700 回答