javascript - 使用 twitter bootstrap 防止子元素崩溃

标签 javascript html twitter-bootstrap

我有以下列表:

    • child 1
    • 子2

根应该是可折叠的,但子项不是。使用以下代码,如果我单击其中之一,两者都会崩溃。如何才能避免 child 摔倒?

<li data-toggle="collapse" data-target="#root"><a href="#">Root</a>
    <ul class="nav nav-list collapse" id="root">
        <li><a href="some_url">Child1</a></li>
        <li><a href="some_url">Child2</a></li>
    </ul>
</li>

编辑:更好的方法来描述我想要的内容。

  1. 根目录从一开始就被折叠。如果我单击 root,它应该显示子级(适用于上面的代码),如果我再次单击 root,它应该隐藏子级(也可以)
  2. 显示子项后,我单击一个子项。此单击将触发折叠并再次隐藏子项。 (这就是我试图阻止的)

jsfiddle:http://jsfiddle.net/MgcDU/4537/

最佳答案

data-toggledata-target 属性移动到 a 元素,例如

<li><a href="#" data-toggle="collapse" data-target="#root">Root</a>
    <ul class="nav nav-list collapse" id="root">
        <li><a href="#">Child1</a></li>
        <li><a href="#">Child2</a></li>
    </ul>
</li>

将它们放在最上面的 li 元素中会使该元素及其所有子元素捕获单击事件并触发折叠。将属性放入子元素会将单击事件处理的范围限制为该元素(及其子元素)。

关于javascript - 使用 twitter bootstrap 防止子元素崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16687960/

相关文章:

php - 有没有办法启动 php 脚本并获取状态?

javascript - 当 `` `type ="module"``` 或 import 时函数不工作

javascript - 为什么当用户输入空格或字符过多/不足时,此函数不给出 window.alert?

html - 存在公司形象时如何防止导航菜单崩溃

twitter-bootstrap - 带有 html 内容的 bootstrap 弹出窗口

javascript - AngularJS 中元素的 subview

javascript - 在 javascript 中更新 JSON.parsed 对象

javascript - 如何让外部js文件写入html &lt;script&gt; 标签?通过纯 JS 或 jQuery

html - 删除 col-md-6 Bootstrap 上的左/右填充

html - 如何在悬停一个 div 并排除所有其他 div 时突出显示两个 div?