如何扩展引导​​nav元素的所有父级?

时间:2018-10-08 12:11:27

标签: jquery twitter-bootstrap nav collapse expand

我在侧边栏中有一个Bootstrap 4导航,它使用数据库中的动态内容并像树一样显示。通过单击元素来折叠和展开树中的各个元素,它可以按预期工作。

但是。我希望能够将一个树元素编码为一个url,以便在访问该URL并加载页面时,该树元素显示为已展开。

在准备好文档的$(el).collapse("toggle")上,树中的第一级元素没有问题,但是将其应用于任何较低级别时,即使元素已扩展,也不会看到,因为没有父元素被扩展在那个时候。

如何也使Expanding元素的所有父元素也都展开?

编辑:按要求提供样品

因此,假设我要在页面加载时扩展menu1-1-1-1,则意味着menu1-1-1menu1-1menu1(#menu1-1-的父母树中的1-1)都需要扩展。

<nav>
  <ul>
    <li>
      <a href="#menu1" data-toggle="collapse" aria-expanded="false">Menu 1</a>
      <ul id="menu1" class="collapse">
        <li>
          <a href="#menu1-1" data-toggle="collapse" aria-expanded="false">Menu 1.1</a>
          <ul id="menu1-1" class="collapse">
            <li>
              <a href="#menu1-1-1" data-toggle="collapse" aria-expanded="false">Menu 1.1.1</a>
              <ul id="menu1-1-1" class="collapse">
                <li>
                  <a href="#menu1-1-1-1" data-toggle="collapse" aria-expanded="false">Menu 1.1.1.1</a>
                  <ul id="menu1-1-1-1" class="collapse">
                    <li>Item a</li>
                    <li>Item b</li>
                  </ul>
                </li>
                <li>Item c</li>
                <li>Item d</li>
              </ul>
            </li>
            <li>Item e</li>
            <li>Item f</li>
          </ul>
        </li>
        <li>
          <a href="#menu1-2" data-toggle="collapse" aria-expanded="false">Menu 1.2</a>
          <ul id="menu1-2" class="collapse">
            </li>Item g</li>
            </li>Item h</li>
          </ul>
        </li>
        <li>Item i</li>
        <li>Item j</li>
      </ul>
    </li>
    <li>
      <a href="#menu2" data-toggle="collapse" aria-expanded="false">Menu 2</a>
      <ul id="menu2" class="collapse">
        <li>
          <a href="#menu2-1" data-toggle="collapse" aria-expanded="false">Menu 2.1</a>
          <ul id="menu2-1" class="collapse">
            <li>Item k</li>
            <li>Item l</li>
          </ul>
        </li>
        <li>Item m</li>
        <li>Item n</li>
      </ul>
    </li>
  </ul>
</nav>

1 个答案:

答案 0 :(得分:1)

嗨,如果我正确理解您想要的东西,则是这样的:

$('#idtree .collapse').collapse('show');

您能提供给我们html和CSS还是一个小例子?