任何人都可以帮我简化引导选项卡窗格的jQuery代码

时间:2014-01-31 01:44:02

标签: jquery html css twitter-bootstrap

从不同的链接开始,我在将特定标签加载为活动时遇到问题。

我找到了解决方案,但这样做我必须为所有不同的标签编写代码。任何人都可以帮我简化代码。

<table class="nav nav-tabs">
<tr>
  <td><a href="#home" data-toggle="tab" class="active">Home</a></td>
  <td><a href="#profile" class="profile-link" data-toggle="tab">Profile</a></td>
  <td><a href="#messages" class="next-link" data-toggle="tab">Messages</a></td>
  </tr>
</table>
<div class="tab-content">
  <div class="tab-pane active" id="home">Home Content</div>
  <div class="tab-pane" id="profile">Profile Content</div>
  <div class="tab-pane" id="messages">Messages Content</div>
</div>
</div>

<a href="#profile" data-toggle="tab" data-toggle-tab=".profile-link" class="outside-link">Profile Link From Outside</a>
<a href="#messages" data-toggle="tab" data-toggle-tab=".next-link" class="next-link">next</a>

<script>
$(".outside-link").click(function() {
    $(".nav-tabs tr td a").removeClass("active");
    $($(this).attr("data-toggle-tab")).parent("td").find("a").addClass("active");
});

$(".next-link").click(function() {
    $(".nav-tabs tr td a").removeClass("active");
    $($(this).attr("data-toggle-tab")).parent("td").find("a").addClass("active");
});
</script>

1 个答案:

答案 0 :(得分:0)

像这样:

$("[data-toggle-tab]").click(function() {
  $(".nav-tabs tr td a").removeClass("active");
  var href = $(this).attr("href");
  $(".nav-tabs tr td").find("[href='" + href + "']").addClass("active");
});