添加选项卡窗格后,引导选项卡下拉列表不起作用

时间:2013-10-01 17:28:57

标签: javascript css twitter-bootstrap-3

我是网页设计和引导程序的新手...... 我正在尝试使用制表符创建标题..并添加一个下拉菜单..代码看起来像这样..

<body>
    <div class="tabbable">
        <ul class="nav nav-tabs">
            <li class="active"><a href="#1" data-toggle="tab">Home</a></li>
            <li class="dropdown">
                <a href="#2" class="dropdown-toogle" data-toggle="dropdown">Tentang Kami<span class="caret"></span></a>
                <ul class="dropdown-menu">
                    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action1</a></li>
                    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action2</a></li>
                    <li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action3</a></li>
                </ul>
            </li>
            <li><a href="#3" data-toggle="tab">Contact Us</a></li>
        </ul>
        <div class="tab-content">
            <div class="tab-pane active" id="1">
                <iframe src="pages/home.html" width="1250" height="500" frameborder="0"></iframe>
            </div>
            <div class="tab-pane active" id="2">
                <iframe src="pages/sejarah.html" width="1250" height="500" frameborder="0"></iframe>
            </div>
            <div class="tab-pane active" id="3">
                <iframe src="pages/contactus.html" width="1250" height="500" frameborder="0"></iframe>
            </div>
            <div class="tab-pane active" id="4">
                <iframe src="pages/visimisi.html" width="1250" height="500" frameborder="0"></iframe>
            </div>
            <div class="tab-pane active" id="5">
                <iframe src="pages/progstudi.html" width="1250" height="500" frameborder="0"></iframe>
            </div>
        </div>
    </div>

    <script type="text/javascript">
        $(document).ready(function(){
            $(".tab-pane.active").hide(); // Hide all tab conten divs by default
            $(".tab-pane.active:first").show(); // Show the first div of tab content by default
        });
    </script>
</body>

所以,“Tentang Kami”标签应该用下拉列表来表示..但是当我尝试时,下拉列表将不显示.. 但是当我尝试清空<div class="tab-content">中的文本时,下拉列表会起作用.. 我错过了什么吗?抱歉我的英文不好

1 个答案:

答案 0 :(得分:1)

您的下拉列表不起作用,因为href="#2"存在id="2"。 dropdown插件需要一个无效的目标。 解决方案将href="#2"更改为href="#"或将data-target="nonsense"添加到您的切换锚点。

插件尝试通过以下方式查找父级的原因:

  function getParent($this) {
    var selector = $this.attr('data-target')

    if (!selector) {
      selector = $this.attr('href')
      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
    }

    var $parent = selector && $(selector)

    return $parent && $parent.length ? $parent : $this.parent()
  }

当你的锚中没有数据目标时(这是有意义的),href将被测试。当此属性退出时,它具有一个长度,并且此元素的父级将作为下拉列表的父级返回。

由于似乎不需要href Is href required on links?,最佳解决方案是将非href属性添加到data-toggle="dropdown"的锚点。

请注意,您只能使用数字定义您的ID,请参阅:What are valid values for the id attribute in HTML?