我的标签无效

时间:2016-03-12 23:01:45

标签: javascript jquery html css tabs

我不知道为什么我的标签不起作用 我已经和它一起工作了好几个小时!! https://jsfiddle.net/mshgwjrb/

$('.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) {
        e.preventDefault();
        var currLink = $(this);
        var id = this.hash;

        if (!currLink.is('.active')) {
            $activeTab.removeClass('active');
            $active.removeClass('active');

            $(id).addClass('active');
            currLink.parent().addClass('active');
        }
    });
});

2 个答案:

答案 0 :(得分:0)

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

$('.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');

    });


});

答案 1 :(得分:0)

your fiddle中,您的html中出现错误,其中所有标签ID都使用相同的ID。您运行JQuery的方法也不是最干净的。我已经为你改写了你的例子HERE。新的JQuery代码如下所示:

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