2012-03-14 102 views
0

我在Jquery中创建了这段代码。添加删除类Jquery

而且它工作正常,但我试图做到这一点:我不想在这个例子中INSTEAD我会努力完成以下加个班就(在文件负载),如:

ON FIRST click click FIRST li tag and THEN add class“active”。我想要达到像Fiddle一样的功能。 (唯一不同的是,我不想第一个li标签立即有CLASS,但要添加一个CLASS按钮点击。)有人可以帮我吗?谢谢!!

$(document).ready(function() { 
    $('ul li:first').addClass('active'); 
    $("button").click(function() { 
     $('.active').removeClass('active').next('li').addClass('active') 

    }); 
}); 

回答

2
$(document).ready(function() { 

    $("button").click(function() { 
     if($('ul li.active').length==0) 
      $('ul li:first-child').addClass('active'); 
     else 
     $('.active').removeClass('active').next('li').addClass('active') 

    }); 
}); 

尝试此处http://jsfiddle.net/KVLE6/2/

在您需要检查是否存在与活动类的任何项目的话。如果至少有一个,则删除它并将其添加到下一个。如果没有,请将其添加到第一个。让我知道这是你想要的

+1

这是它!非常非常感谢你!!你是男人!谢谢!!! – 2012-03-14 14:04:19

1
$("button").click(function() { 
    var $active= $('.active'); 
    if(!$active.length){ 
     $('ul li:first').addClass('active'); 
    }else{ 
     $active.removeClass('active').next('li').addClass('active'); 
    } 
}); 
0

$(document).ready(function() { 
    //$('ul li:first').addClass('active'); 
    $("button").click(function() { 
     if($('li.active').length > 0) { 

      $('.active').removeClass('active').next('li').addClass('active'); 
     }else{ 
      console.log($('ul li:first')); 
      $('ul li:first').addClass('active'); 
     } 

    }); 

}); 

小提琴

$(document).ready(function() { 
var i=0 
$("button").click(function() { 

    if(i > $("ul > li").length) 
    { 
     i=0;  
    } 
    $("ul > li").siblings().removeClass('active');    
    $("ul > li:eq("+i+")").removeClass('active').addClass('active'); 
    i++; 
}); 
}); 

小提琴例如:http://jsfiddle.net/KVLE6/25/