使用jquery使类活跃

时间:2012-04-22 01:53:31

标签: javascript jquery html css hide

<div class="tabs">
    <ul id="tab" class="nav nav-tabs">
        <li class="active">
            <a href="#feed" data-toggle="tab">Feed</a>
        </li>
        <li>
            <a href="#dashboard" data-toggle="tab">Dashboard</a>
        </li>
    </ul>
</div>

当用户点击下面的链接时。我想将#dashboard li更改为active,并从#feed li中删除active。我该怎么做?

<a href=".showfollowers" onclick='load_followers();' data-toggle="tab">See All</a>

7 个答案:

答案 0 :(得分:4)

你最好使用不引人注目的javascript:

<a href=".showfollowers" id="foo" data-toggle="tab">See All</a>

<强>代码:

$('#foo').click(function(){
        $('#dashboard').addClass('active');
        $('#feed').removeClass('active');
        load_followers();
        return false; // if needed.
    });

虽然可以使用内联脚本完成,但不推荐使用内联代码。

答案 1 :(得分:2)

<div class="tabs">
              <ul id="tab" class="nav nav-tabs">
              <li class="active"><a href="#feed" data-toggle="tab">Feed</a></li>
              <li><a href="dashboard" data-toggle="tab">Dashboard</a></li>
              </ul>
          </div>

<a href="showfollowers" onclick='load_followers();' data-toggle="tab">See All</a>


$('.showfollowers').click(function(){
  $(#tab li).removeClass('active');
  $('#dashboard').parent().addClass('active');

})

答案 2 :(得分:1)

一种方法是:

$("#tab li").removeClass("active");
$("#dashboard").parent().addClass("active");

首先会删除所有'li'元素的“active”类,然后将其添加到#dashboard标签的li元素中。

另一种方法是使用siblings()函数。

var dashboard = $("#dashboard").parent(),
    siblings = dashboard.siblings();
siblings.removeClass("active");
dashboard.addClass("active")

答案 3 :(得分:1)

这可以帮助您...了解有关切换课程http://api.jquery.com/toggleClass/

的更多信息
$("[href='showfollowers']").click(function(event){
   event.preventDefault(); 
   $("#tab li").toggleClass("active");
});

答案 4 :(得分:0)

我会在元素中添加id,以便识别元素。

<div class="tabs">
   <ul id="tab" class="nav nav-tabs">
     <li id="liFeed" class="active"><a href="#feed" data-toggle="tab">Feed</a></li>
     <li id="lidashboard""><a href="#dashboard" data-toggle="tab">Dashboard</a></li>
   </ul>
</div>
<a href="#" data-toggle="tab" id="aSeeAll" >See All</a>

脚本

$(function(){
  $("#aSeeAll").click(function(e){
    e.preventDefault();
    $("#tab li").removeClass("active");
    $("#lidashboard").addClass("active");
  });    
});

工作样本:http://jsfiddle.net/H2BBn/2/

答案 5 :(得分:0)

$("div.tabs li").eq(1).addClass("active").siblings().removeClass("active");

答案 6 :(得分:0)

我发现上述解决方案只对我有用。选项卡已更改为活动但新内容未显示。这就是我最终的结果:

$('.ext-butt-class').click(function(e){
    e.preventDefault();
    $(".nav-tabs li").removeClass("active");
    $("[href='#requiredtab']").parent().addClass("active");
});

.where .ext-butt-class被添加到触发切换的链接中,#requiredtab是我们尝试定位的标签的a名称。

希望能帮助其他人使用Roots Wordpress Framework和/或Twitter Bootstrap。