javascript - jQuery 显示隐藏多个 Div 不起作用

标签 javascript jquery html css

我有这个 jQuery 代码用于在我的页面中显示/隐藏多个 div:

$(function() {
    $('#toggle').click(function(event) {
        event.preventDefault();
        var target = $(this).attr('href');
        $(target).toggleClass('hidden show');
    });
});
<span class="add-btn">
    <a href="#options" id="toggle">
        <span class="btn btn-primary btn-sm">
            <i class="fa fa-filter"></i>
            Filter
        </span>
    </a>
</span>
<div id="options" class="well hidden">hehe</div>    
<span class="add-btn">
    <a href="#options2" id="toggle">
        <span class="btn btn-primary btn-sm">
            <i class="fa fa-filter"></i>
            Filter2
        </span>
    </a>
</span>
<div id="options2" class="well hidden">hoho</div>
.show {
    display: block !important;
}
.hidden {
    display: none !important;
    visibility: hidden !important;
}

但在 Action 中不起作用!如何解决这个问题?!

Demo

最佳答案

您需要让您的id 触发器具有唯一标识符,它们不能相同。该代码将仅评估第一个实例并忽略任何其他实例。

$(function() {

       $('#toggle1, #toggle2').click(function(event) {
         event.preventDefault();
         var target = $(this).attr('href');
         $(target).toggleClass('hidden show');
       });
});

示例:

 $(function() {

       $('#toggle1, #toggle2').click(function(event) {
         event.preventDefault();
         var target = $(this).attr('href');
         $(target).toggleClass('hidden show');
       });
});
.show {
    display: block !important;
}
.hidden {
    display: none !important;
    visibility: hidden !important;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="add-btn"><a href="#options" id="toggle1">
              <span class="btn btn-primary btn-sm"><i class="fa fa-filter"></i>Filter</span></a>
</span>



<div id="options" class="well hidden">hehe</div>

<span class="add-btn"><a href="#options2" id="toggle2">
              <span class="btn btn-primary btn-sm"><i class="fa fa-filter"></i>Filter2</span></a>
</span>



<div id="options2" class="well hidden">hoho</div>

关于javascript - jQuery 显示隐藏多个 Div 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37595102/

相关文章:

javascript - JS 切换类

javascript - 使用传播运算符 react 添加项目

javascript - addEventListener ("loadedmetadata",有趣)没有正确运行,Firefox 错过事件

javascript - 当我在选项中有 2 个或更多单词时,Cufon + SelectBoxIt 组合广告三个点

jquery - jvectormap 工具提示的 Z-Index 定位

javascript - 单选按钮的值

php - 从 json 数组中检索消息

jquery - 从1.4.2升级到1.4.4后jquery ajax出现问题

javascript - 匹配 jquery 中的字段时不显示通知 div

javascript - 使用html为iphone浏览器创建自动完成框