0

有人请救救我!我很沮丧,不知道我做错了什么。我的代码有什么问题?它根据 URL 激活特定选项卡。例如,www.mywebsite.com#tab3将激活我的 tabber 的 tab3。这就是我实现这一点的方式:我location.hash用来获取位置并与 href 进行比较,然后激活该选项卡。但问题就在这里:我有两个不同样式的选项卡(ul#tabs li aul.tabs li a)。我是否选择并进行了很好的比较?这是代码:

 var hash = location.hash;


 $(".tab_content").hide(); //Hide all content

 if ($("ul#tabs li a[href='" + hash + "'], ul.tabs li a[href='" + hash + "']").length) {
     $("ul#tabs li a[href='" + hash + "'], ul.tabs li a[href='" + hash + "']").parent().addClass("active"); //Activate tab
     $(hash).show();
 }
4

1 回答 1

0

您可以使用函数来促进此操作:

var hash = location.hash;

function active_hash(type) {
    var $node = $("ul" + type + "tabs li a[href='" + hash + "'], ul.tabs li a[href='" + hash + "']");

    if ($node.length) {
        $node.parent().addClass("active");
        $(hash).show();
    }
}

active_hash('#');
active_hash('.');
于 2013-04-01T02:21:17.030 回答