使用jQuery获取URL的#anchor?

时间:2010-12-19 13:02:29

标签: jquery

jQuery(document).ready(function(){
    $("#red-products").hide();  
    $("#content-info").click(function(event){
        $("#red-products").hide();  
        $("#red-information").show(); 
    });

    $("#content-product").click(function(event){
        $("#red-information").hide();
        $("#red-products").show();  
    });

    $("#more").click(function(event){
        load(this.href);
        return false;
    });

});

如您所见,默认隐藏#red-products#red-information可见。有时我希望#red-products可见,#red-information隐藏,意味着像

http://localhost/networks2/profile.php?id=1&offset=1#products

显示#red-products并隐藏#red-information。并且

http://localhost/networks2/profile.php?id=1&offset=1#information

隐藏#red-products并显示#red-information

如何使用jQuery从URL读取锚点,并隐藏/显示相应的部分?

1 个答案:

答案 0 :(得分:36)

您可以将初始隐藏更改为基于window.location.hash,替换为:

$("#red-products").hide();  

有了这个:

$("#red-products, #red-information").hide();
$("#red-" + (window.location.hash.replace("#", "") || "information")).show();

这会隐藏最初,然后显示哈得(#red-hashhere),或默认显示#red-information,就像现在一样。