【问题标题】:Does Jquery UI Accordion requires a div after each h tag?Jquery UI Accordion 是否需要每个 h 标签后的 div?
【发布时间】:2015-11-10 03:49:19
【问题描述】:

这是我的原始代码:

 <div id="accordion">
    <h1>Header #1</h1>
    <div>
        <ul>
            <li><a href="#">List item #1</a></li>
        </ul>
    </div>

    <h1>Header #2</h1>
    <div>
        <ul>
            <li><a href="#">List item #1</a></li>
            <li><a href="#">List item #2</a></li>
            <li><a href="#">List item #3</a></li>
            <li><a href="#">List item #4</a></li>
        </ul>
    </div>
</div>

我尝试删除内部的div 标签,代码运行良好。唯一的区别是,当我用div 标签包围ul 标签时,它会在它们周围创建一些边距。

我遇到的关于 Jquery UI Accordion 的每个文档或教程都在 h 标签之后使用 div 标签,但由于没有它们也可以工作,所以我问自己是否需要它们。

非常感谢。 :)

【问题讨论】:

  • 它可能用于以html 的正确结构进入,这可能会或可能不会影响功能。因此,当您删除任何元素时,您可能需要检查所有功能以查看它没有在任何地方损坏.. :)

标签: javascript jquery html jquery-ui jquery-ui-accordion


【解决方案1】:

刚刚扫描了 jQuery UI github 源,手风琴似乎在 ui-accordion-content 类上工作 - 所以应该没问题 - 只要你使用块元素(p / div / ul 等)。

https://github.com/jquery/jquery-ui/search?utf8=✓&amp;q=ui-accordion-content

【讨论】:

  • 如果上面有display: block,我几乎可以使用每个元素?
  • 理论上应该是可以的——但是由于相关的浏览器样式,建议使用中性的容器——比如div。我尝试使用 p 标签,它仍然有效。有什么理由不能选择 div?
  • 因为内容是一个列表,并且它有一个完善的容器 - ul,所以为什么要用另一个包围它呢?
猜你喜欢
  • 2011-04-09
  • 1970-01-01
  • 2015-12-24
  • 2018-07-03
  • 1970-01-01
  • 2018-06-30
  • 2016-07-10
  • 2017-04-23
  • 2011-09-27
相关资源
最近更新 更多