2

我现在有一个带有标签的索引页面,它们还没有链接到任何地方,但是当您单击一个标签时,我正在尝试设置活动类。

以下是选项卡:

<ul class="nav nav-tabs">
            @foreach(var division in Model)
            {
                <li class="span2""><a href="#">@division.Description</a></li>
            }
            <li class="active span2"><a href="#">All</a></li>
            <li class="span2"><a href="#">Summary</a></li>
        </ul>

和jQuery:

<script type="text/javascript">

$(document).ready(function() {
     $("#tabs li").click(function() {
        $("#tabs li").removeClass('active'); 
        $(this).addClass("active");
        $(".tab_content").hide();
        $(selected_tab).fadeIn();
        var selected_tab = $(this).find("a").attr("href");
    });
});

我还尝试在指向函数 SetActiveTab() 的选项卡上设置一个 onclick 事件,并尝试删除其中的活动类,但这也不起作用:

function SetActiveTab() {
    $("#tabs li").removeClass("active");
}

我在这里想念什么?

4

2 回答 2

1

您正在尝试li通过 id引用父元素#tabs。可能是您的代码片段不完整,并且您确实有父#tabs元素,li但如果没有,您可以li使用类访问.nav.nav-tabs或两者兼而有之.nav.nav-tabs。此外,通过这种方式,您将访问页面上的所有选项卡,而不仅仅是具有特定 ID 的选项卡。

例子:

$(document).ready(function() {
     $(".nav.nav-tabs li").click(function() {
        $("#tabs li").removeClass('active'); 
        $(this).addClass("active");
        $(".tab_content").hide();
        $(selected_tab).fadeIn();
        var selected_tab = $(this).find("a").attr("href");
    });
});

或者,您可以为 的父元素指定一个 id li

<ul class="nav nav-tabs" id="tabs">
于 2012-11-20T08:00:59.023 回答
-1

您的所有代码都引用了#tabs,但是您的“ul”没有“tabs”的ID。

于 2012-11-20T07:57:22.383 回答