javascript - jQuery Accordion 在点击时更改 Font Awesome 图标类

标签 javascript jquery css accordion font-awesome

我有一个关于我找到的简单 jQuery Accordion 的问题。

我想使用 Font Awesome 图标通过加号和减号图标来指示事件/非事件状态。 在我的 JSFiddle 中,您会看到带有加号图标的 Accordion 标题。当您单击标题时,“fa-plus”类需要更改为“fa-minus”。

我已经用 add 和 removeClass 做了一些测试,但我无法让它工作。我真的是一个 jQuery/javascript 菜鸟!希望你们能帮助我 :-)。

jQuery('.accordion dt').click(function() {

    jQuery('.accordion dt').removeClass('active');
    jQuery('.accordion_content').slideUp('normal');

    if(jQuery(this).next().is(':hidden') == true) {
        jQuery(this).addClass('active');
        jQuery(this).next().slideDown('normal');
    }
});

jQuery('.accordion_content').hide();

http://jsfiddle.net/XrGU8/

最佳答案

为什么不链接你的代码而不是重复你自己:

jQuery('.accordion dt').click(function() {
    jQuery(this).find('i').toggleClass('fa-plus fa-minus')
                .closest('dt').next().slideToggle()
                .siblings('.accordion_content').slideUp();
});

jQuery('.accordion_content').hide();

Updated Fiddle


更新:

您的最终代码应如下所示:

jQuery('.accordion dt').click(function() {
    jQuery(this).toggleClass('active').find('i').toggleClass('fa-plus fa-minus')
           .closest('dt').siblings('dt')
           .removeClass('active').find('i')
           .removeClass('fa-minus').addClass('fa-plus');

    jQuery(this).next('.accordion_content').slideToggle()
                .siblings('.accordion_content').slideUp();  
});

jQuery('.accordion_content').hide();

Updated Fiddle

关于javascript - jQuery Accordion 在点击时更改 Font Awesome 图标类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21166436/

相关文章:

javascript - Jquery 将非常简单的计数器与变量连接起来

jquery - WordPress : change menu labels on mouse-over

javascript - 如果在 iframe 中加载特定页面,则触发重定向到另一个页面

javascript - FullCalendar 时隙高度

javascript - Javascript 可以通过浏览器与远程服务器上的 SQLite 数据库进行交易吗?

javascript - youtube api 视频结束加载函数

javascript - 如何存储对类属性的 AJAX 响应?

javascript - 如何检查 Facebook 粉丝专页是否被点赞

html - 表格边框半径不四舍五入或使用边框折叠会使表格的其余部分困惑

html - 为什么 CSS 中的边距没有填充背景色?