如何以编程方式切换标签HTML / js

时间:2016-10-25 07:01:30

标签: javascript jquery html tabs

我有一个HTML页面,其水平标签定义如下

<ul class="tabs clear has-borderbottom">
    <li class="js-tab selected" data-tab="tab1"><a href="#">TAB 1</a></li>
    <li class="js-tab" data-tab="tab2"><a href="#">TAB 2</a></li>
    <li class="js-tab" data-tab="tab3"><a href="#">TAB 3</a></li>
 </ul>

当我加载页面时,它会打开并打开TAB 1,这在任何情况下都适合我。但有一个条件,我想加载TAB 2作为开始选项卡而不是选项卡1.如何在js中以编程方式执行此操作?

我使用window.location.href = "/details重定向到上面的HTML页面,我想要显示默认打开的TAB 2。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用window.location.href =&#34; / details?tab = 2&#34;来提供参数。 然后,您可以通过发布的功能从位置读取您的GET参数: How to retrieve GET parameters from javascript?

&#13;
&#13;
function findGetParameter(parameterName) {
    var result = null,
        tmp = [];
    location.search
    .substr(1)
        .split("&")
        .forEach(function (item) {
        tmp = item.split("=");
        if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
    });
    return result;
}
&#13;
&#13;
&#13;

然后您必须更改文档的选定类加载。 添加一个新的document.onload-Function,如下所示:

&#13;
&#13;
function doThisOnOnload()
{
  var selected = findGetParameter("tab");
  
  $('.js-tab').removeClass("selected");
  $('[data-tab="tab'+selected+'"]').addClass("selected");
}
&#13;
&#13;
&#13;

因此必须注入jquery。