javascript - 获取在 hidden/shown.bs.collapse 上折叠的元素

标签 javascript jquery html css twitter-bootstrap

我正在开发一个 ASP.NET MVC 应用程序,完全由我自己制作,边做边学。我正在制作一个侧边栏菜单,但我一直在尝试制作一个动画向上/向下箭头。目前,我能得到的最好结果是 both/none 箭头打开 hidden.bs.collapse/shown.bs.collapse。我一直在看这里的一些帖子,但我无法让它按我想要的方式工作。我试过玩类似 $('.glyphicon[aria-expanded="true"]') 但不会改变行为。

预期:点击时,“collapse”被删除,箭头倒转。
实际:点击时,“collapse”被删除,但两个/一个箭头都反转。

HTML:

<div id="wrapper">
    <div id="sidebar-wrapper">
        <div id="wrapperMenu" class="sidebar-nav">
            <a href="#detailsSubMenu" class="list-group-item" data-toggle="collapse" data-parent="#wrapperMenu">Menu #1<i class="glyphicon glyphicon-arrow-down"></i></a>
            <div class="collapse" id="detailsSubMenu">
                <a href="#" class="list-group-item">A1</a>
                <a href="#" class="list-group-item">A2</a>
                <a href="#" class="list-group-item">A3</a>
            </div>
            <a href="#editSubMenu" class="list-group-item" data-toggle="collapse" data-parent="#wrapperMenu">Menu #2<i class="glyphicon glyphicon-arrow-down"></i></a>
            <div class="collapse" id="editSubMenu">
                <a href="#" class="list-group-item">B1</a>
                <a href="#" class="list-group-item">B2</a>
            </div>
        </div>
    </div>

Js:

$('#wrapperMenu').on('shown.bs.collapse', function() {
    $(".glyphicon").removeClass("glyphicon-arrow-down").addClass("glyphicon-arrow-up");
});
$('#wrapperMenu').on('hidden.bs.collapse', function() {
    $(".glyphicon").removeClass("glyphicon-arrow-up").addClass("glyphicon-arrow-down");
});

Fiddle

最佳答案

简单地定位当前元素子元素,您将找到 .glyphicon 并在其上使用 JQuery toggleClass()

表单示例

$('[data-toggle="collapse"]').click(function(){
    $(this).children(".glyphicon").toggleClass("glyphicon-arrow-down glyphicon-arrow-up")
});

working fiddle

关于javascript - 获取在 hidden/shown.bs.collapse 上折叠的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36482863/

相关文章:

javascript - 使用 Java API for KML 在 KML 描述气球中调用 REST API 的链接?

javascript - 如何隐藏我的下拉菜单?

javascript - 什么是 JSON 安全对象?

javascript - 如何通过访问 token 获取 Facebook 用户信息?

javascript - jQuery:检查按钮是否被点击

javascript - 单击图像按钮会增加购物车价格 - Magento

jQuery 自定义加载不顺利(相反,原始内容出现,然后被修改)

java - 将 HTML 资源保存在字节数组中

html - 定义 p 的固定宽度,其中图像向右浮动

android - 响应图像在某些设备上不正确