Javascript 引导可折叠面板,通过编程切换时标题图标未更新

Javascript 引导可折叠面板,通过编程切换时标题图标未更新,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我有引导式可折叠面板,其标题中有图标,指示打开/关闭状态。 当直接单击这些图标时,此操作正常(即:图标正确更改) 但是,我现在需要通过编程方式切换这些面板(通过单击超链接触发),虽然这样可以正确打开/关闭面板,但不会更新标题中的图标 在下面的代码中,我创建了一个面板,其中有一个触发其打开/关闭操作的glyphicon。 面板下方还有一个超链接,其href属性表示面板的ID。 一个小的jQuery代码片段负责在单击此超链接时调用其目标ID的collapse('toggle')函数。 正如您在JSF

我有引导式可折叠面板,其标题中有图标,指示打开/关闭状态。 当直接单击这些图标时,此操作正常(即:图标正确更改)

但是,我现在需要通过编程方式切换这些面板(通过单击超链接触发),虽然这样可以正确打开/关闭面板,但不会更新标题中的图标

在下面的代码中,我创建了一个面板,其中有一个触发其打开/关闭操作的glyphicon。 面板下方还有一个超链接,其
href
属性表示面板的ID。 一个小的jQuery代码片段负责在单击此超链接时调用其目标ID的
collapse('toggle')
函数。 正如您在JSFIDLE中看到的,通过单击“Test”超链接,面板可以很好地折叠,但是图标不是update

可以看到,单击图标或单击“测试”超链接的区别在于,单击图标将切换包含图标的
元素的
.collapsed
类。 单击超链接不会切换此类

通过谷歌搜索github()上的if发现了这个引导问题,它提到了一个旧问题,该问题通过单击标题本身(我的例子中的图标)导致了相同的行为,虽然这显然已经解决了,但问题似乎仍然存在于
collapse()
函数中,该函数可用于通过编程方式切换面板,在为这个问题完成的pull操作()中也提到了这一点,@intellix表示它工作不正常,但似乎没有被人发现(或者我可能解释错了,我对github注释/问题/pull不太熟悉…)

那么这仍然是引导中的一个bug吗?或者我是不是抽的太多了

html:


JSFIDLE:

我认为引导不会在切换函数中处理这个问题,相反,您必须尝试以下方法

$('a').on('click', function()
{
    var HashTag = $(this).attr('href');
    $(HashTag).collapse('toggle'); 
    $('.collapseicon[href$="' + HashTag + '"]').toggleClass('collapsed'); 
});

当图标被折叠时,将
折叠的
类添加到图标中。@DavidG:谢谢,但这有点太明显了:),问题是bootstrap是否不应该自动处理这个问题?我在Github上的第一期文章中添加了一条评论,有人友好地回答并指出了以下问题:这正好描述了这种行为。所以,是的,bootstrap应该能够处理它,尽管它仍然是开放的
$('a').on('click', function()
          {
              var HashTag = $(this).attr('href');
             $(HashTag).collapse('toggle'); 
          });
$('a').on('click', function()
{
    var HashTag = $(this).attr('href');
    $(HashTag).collapse('toggle'); 
    $('.collapseicon[href$="' + HashTag + '"]').toggleClass('collapsed'); 
});