Javascript 显示和隐藏<;部门>;使用jQuery事件调用

Javascript 显示和隐藏<;部门>;使用jQuery事件调用,javascript,jquery,jquery-plugins,jquery-events,Javascript,Jquery,Jquery Plugins,Jquery Events,有几个高级jQuery插件可以根据相应的id或类过滤s。这确实是基于一个简单的jQuery思想,但我不确定如何实现它。考虑一个菜单来显示/隐藏内容为 <ul id="filters" class="menu" indicator="filter"> <li><a href="#filter" indicator="*" class="selected">All</a></li> <li><a href="#filt

有几个高级jQuery插件可以根据相应的id或类过滤
s。这确实是基于一个简单的jQuery思想,但我不确定如何实现它。考虑一个菜单来显示/隐藏内容为

<ul id="filters" class="menu" indicator="filter">
 <li><a href="#filter" indicator="*" class="selected">All</a></li>
 <li><a href="#filter" indicator=".first">First</a></li>
 <li><a href="#filter" indicator=".third">Third</a></li>
</ul>
我们希望控制内容的显示:

<div class="box first">Something</div>
<div class="box first third">Something</div>
<div class="box third">Something</div>
什么 某物 某物 最简单的jQuery Javascript代码是什么

默认情况下,所有的
都会显示,当我们从菜单中单击
  • 时(例如,FIRST),jQuery将过滤
    以仅显示类为“FIRST”的
    属性。

    不要使用属性“indicator”,因为它不存在。使用class元素,如下所示。此外,不需要A元素

    <ul id="filters" class="menu">
     <li class="selected all">All</li>
     <li class="first">First</li>
     <li class="third">Third</li>
    </ul>
    
    不要使用属性“indicator”,因为它不存在。使用class元素,如下所示。此外,不需要A元素

    <ul id="filters" class="menu">
     <li class="selected all">All</li>
     <li class="first">First</li>
     <li class="third">Third</li>
    </ul>
    

    使用
    属性而不是
    指示器
    ,然后尝试以下操作:

    $('#filters li').click(function(){
        $('div.' + $(this).attr('class')).show();
    });
    

    为了使这项工作起作用,您必须为您的第一个LI以及所有DIV分配一个
    all
    类。希望这有帮助

    使用
    属性而不是
    指标
    ,然后尝试以下操作:

    $('#filters li').click(function(){
        $('div.' + $(this).attr('class')).show();
    });
    
    $(function(){
      $('#filters li a').live('click', function(){
        $('.box').hide();
    
        indirector = $(this).attr('indicator');
    
        indirector = indirector.substring(1);
    
        if(indirector == '')
          $('.box').show();   
        else
          $('div.' + indirector).show();
    
      });
    });
    
    为了使这项工作起作用,您必须为您的第一个LI以及所有DIV分配一个
    all
    类。希望这有帮助

    $(function(){
      $('#filters li a').live('click', function(){
        $('.box').hide();
    
        indirector = $(this).attr('indicator');
    
        indirector = indirector.substring(1);
    
        if(indirector == '')
          $('.box').show();   
        else
          $('div.' + indirector).show();
    
      });
    });
    

    试试这段代码

    $('#filters li').click(function(){
        $("div.box").hide();
        $('div.box' + $(this).children('a').attr('indicator')).show();
    });
    
    试试这个代码

    $('#filters li').click(function(){
        $("div.box").hide();
        $('div.box' + $(this).children('a').attr('indicator')).show();
    });
    

    你能详细说明你想做什么吗?
    ul
    div
    s有什么关系?除了向元素添加一个click绑定(在ul中带有委托)之外,该绑定使用选择器单击的指示符或类(如果指示符不存在,则默认为类),然后将其用作jQuery.hide()或.show()的选择器?@Purmou我刚刚添加了进一步的描述来澄清这个问题。你可以使用jQuery
    hasClass()
    :你能详细说明一下你想做什么吗?
    ul
    div
    s有什么关系?除了向元素添加一个click绑定(在ul中带有委托)之外,该绑定使用选择器单击的指示符或类(如果指示符不存在,则默认为类),然后将其用作jQuery.hide()或.show()的选择器?@Purmou我刚刚添加了进一步的描述来澄清这个问题。您可以使用jQuery
    hasClass()