【问题标题】:Why does Bootstrap Collapse keep removing the "collapse" class after expanding?为什么 Bootstrap Collapse 在展开后会不断删除“collapse”类?
【发布时间】:2015-01-03 10:06:52
【问题描述】:

我在通过 Ajax 插入的元素上使用 jQuery Collapse

当我应用下面的行时,它会删除 collapse 类。我需要保留该类,以便在需要关闭 Ajax 内容时调用 collapse('hide')。

$ajaxContent.html(data).find('.collapse').collapse();

这是我的 .php 文件中的内容:

<section class="collapse">

这是应用 jQuery 后的结果:

<section class="in" style="height: auto;">

为什么要这样做,我该如何解决它,以免折叠类被删除?

【问题讨论】:

  • 在这个简单的例子中它运行良好:jsfiddle.net/Luuuef3j/1 你能用你的代码做一个 jsFiddle 演示来演示这个问题吗?
  • @friedi 在您的示例中根本没有发生任何事情,所以不确定它对您的效果如何......
  • 类被添加。看看 firebug 或开发者工具。
  • @friedi 添加了哪个类?
  • 添加了in 类,而collapse 类仍然存在。

标签: javascript jquery ajax twitter-bootstrap collapse


【解决方案1】:

避免调用元素的类collapse,因为它正在被插件使用。将其称为其他名称(例如,给它一个 collapse 的 id 而不是类),它应该可以工作。

编辑:或者您可以通过数据属性(data-toggle="collapse")使用插件;我仍然避免调用元素的类 collapse 以避免混淆。

编辑#2:在@friedi 对该问题的评论之后,我查看了Bootstrap's documentation on collapse 上提供的示例,并意识到他们实际上也在使用collapse 类。从您接受我的回答这一事实出发,我假设重命名/删除它仍然出于某种原因为您解决了问题,但问题的根源可能在于您的代码中的其他地方(可能是另一位 js或您的 HTML 的结构,不确定)。

编辑#3:我认为罪魁祸首可能在于您的data 变量所持有的任何内容;我猜它没有使用html 函数将collapse 类添加到您应用到$ajaxContent 的任何结构中,它实际上是从那里丢失的,而不是被collapse 删除函数(它不是,因为它没有删除那个类)。

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 2016-12-17
    • 2013-09-20
    • 2017-03-29
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    相关资源
    最近更新 更多