javascript - 使用 jQuery 事件显示和隐藏 <div>

标签 javascript jquery jquery-plugins jquery-events

有几个高级 jQuery 插件可以过滤 <div> s 通过相应的 id 或 class。这确实是基于一个简单的 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 代码是什么?

默认情况下,所有 <div>当我们点击 <li> 时,会显示从菜单(例如 FIRST)中,jQuery 将过滤 <div>只显示<div>其中类是“第一个”。

最佳答案

不要使用属性“indicator”,因为它不存在。使用如下所示的类元素。另外,A 元素也不是必需的。

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

然后是你的脚本

// hide all divs 
$('div.box').css('display','hidden');

// add click handler on control list
$('ul#filters li').click(function() {

   var classList =$(this).attr('class').split(/\s+/);
    $.each( classList, function(index, item){
        if (item != 'selected') {
           $('div.'+item).css('display','block');
        }
    });

});

关于javascript - 使用 jQuery 事件显示和隐藏 <div>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200133/

相关文章:

javascript - 时间未通过 moment.js 正确转换为本地时间

javascript - 每当窗口调整大小时,将内容从一个 DIV 转移到另一个

javascript - JQUERY 触摸屏键盘

javascript - DIV 覆盖/覆盖其他元素

javascript - 最好的 jQuery 插件结构?

javascript - Canvas 并根据网格获取坐标(通过鼠标 x 鼠标 y)

javascript - HTML5 视频播放按钮重叠问题

javascript - jQuery 搜索过滤器动画淡入/淡出重复

javascript - 传单:如何在圆心添加数字?

javascript - 多次按下回车键时禁用输入