我的jquery tabber代码出了什么问题?

时间:2013-04-01 01:42:00

标签: javascript jquery

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

 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();
 }

1 个答案:

答案 0 :(得分: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('.');