Javascript 我的标签坏了

Javascript 我的标签坏了,javascript,jquery,html,css,tabs,Javascript,Jquery,Html,Css,Tabs,我不知道为什么我的标签不起作用 我已经用它工作了好几个小时了!! 使用此代码。比较你的代码和我给你的代码。你会理解这个问题的 $('.tabs').each(function(){ var $this = $(this); var $active = $this.find('li .active'); var $link = $active.find('a'); var $activeTab = $($link.attr('href')); $th

我不知道为什么我的标签不起作用 我已经用它工作了好几个小时了!!


使用此代码。比较你的代码和我给你的代码。你会理解这个问题的

$('.tabs').each(function(){
    var $this = $(this);
    var $active = $this.find('li .active');
    var $link = $active.find('a');
    var $activeTab = $($link.attr('href'));



    $this.on('click', '.tab-', function(e){
    alert("asdf")
        //e.preventDefault();
        var currLink = $(this);
        var id = this.hash;
         $active = $("#tabsContent").find('.active');
         $activeTab.removeClass('active');
            $active.removeClass('active');

            $(id).addClass('active');

    });


});
在html中,您的所有选项卡ID都使用了相同的ID。此外,您运行JQuery的方法也不是最干净的。我已经为你改写了你的例子。新的JQuery代码如下所示:

$('ul.tabs').on('click', 'li', function(e) {
   var id = $(this).children("a").attr('href');
   $('.tab.active').removeClass('active');
   $(id).addClass('active');
});

li.active
上有一个打字错误,你想让
li.active
.active
类的任何li为目标,你有什么建议?他/她建议你将你的打字错误从
li.active
改为
li.active
我会简化很多->
$('ul.tabs').on('click', 'li', function(e) {
   var id = $(this).children("a").attr('href');
   $('.tab.active').removeClass('active');
   $(id).addClass('active');
});