jquery - jquery 中的 html 选项卡 removeClass 和 addClass 不起作用

标签 jquery html asp.net-mvc

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

这里是选项卡:

<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");
}

我在这里错过了什么?

最佳答案

您正在尝试通过 id #tabs 引用 li 的父元素。可能是您的代码片段不完整,并且您确实有 li 的父 #tabs 元素,但如果没有,您可以使用类 访问 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");
    });
});

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

<ul class="nav nav-tabs" id="tabs">

关于jquery - jquery 中的 html 选项卡 removeClass 和 addClass 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13468725/

相关文章:

javascript - 我在文本字段中需要的复选框名称

javascript - jQuery Mega Menu 全宽菜单项

python - 如何一次加载无限滚动中的所有条目以解析python中的HTML

html - 使用 XPath 查找动态表值

asp.net - 寻找经典 ASP 2.0 资源(来自 .NET)的方向

javascript - 使用 jQuery/cheerio 访问脚本标签中的变量

jquery - 尝试做 onmouseover/onmouseout 效果

javascript - Analytics.js 阻止其他脚本

asp.net-mvc - IIS将MVC中的静态文件理解为动态内容

javascript - 检测在 html 表中单击了哪个按钮