如果div是javascript的隐藏功能,则隐藏h1标签

时间:2013-06-07 20:41:55

标签: javascript jquery

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

基本上我在说。从选择下拉列表中选择;如果显示所选值,则隐藏所有其他值。现在我还需要说明列表类别[h1]标题是否为空隐藏,否则显示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();
        }

       });
    });

2 个答案:

答案 0 :(得分:3)

根据相邻列表是否包含任何可见元素,遍历所有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();   
            }
        });
    });
});

答案 1 :(得分:0)

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

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

if(size === 0)
{
   ...
}