【问题标题】:How can I force jQuery UI to ignore certain elements in the Accordion如何强制 jQuery UI 忽略 Accordion 中的某些元素
【发布时间】:2012-03-08 18:05:15
【问题描述】:

我有一个 Jquery UI Accordion,我在其中动态添加某些元素。我使用自己编写的排序代码,允许我以正确的字母顺序添加动态 Accordion 类别。我遇到的问题是,如果动态元素位于手风琴的最顶部或最底部,那么我的排序功能就会失败。

我想出了一个 jimmy-rigged 的​​方法,通过在手风琴内部创建虚拟元素,顶部元素为 id="0000000000000000000000000000",底部元素为 id="zzzzzzzzzzzzzzzzzzzzzzzzzzz",从而绕过排序问题

现在的问题是 Accordion 不知道如何处理这些虚拟元素,并且没有任何 display:nonevisibility:hiddendisabled 甚至 data-role="none" 可以解决这个问题。

我的问题是如何在手风琴的最顶部和最底部添加虚拟元素,这些元素将被手风琴完全忽略。如果元素是divspanimg 或其他任何元素,对我来说都没有关系,只要手风琴会忽略它们,任何一个都可以。

谢谢。

【问题讨论】:

  • 我建议这里真正的问题是你的排序功能,你应该修复它。
  • 排序的问题是手风琴需要 2 个独立元素一个 h3 和一个以下 div,但 Goran 的答案有效

标签: jquery jquery-ui jquery-ui-accordion


【解决方案1】:

虽然您无法明确指定 Accordion 忽略哪些元素,但您可以使用 header 选项指定它接受哪些元素。我建议在顶部和底部元素中添加一个名为 ignore 的类,然后使用 :not() 选择器包含不包含此类的任何其他元素。

有关示例,请参阅以下jsFiddle

$('#myAccordion').accordion({
    header: 'h3:not(.ignore)'
}); 

希望能解决您的问题。正如 Interrobang 所说,问题很可能出在排序上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2011-09-16
    相关资源
    最近更新 更多