使用jQuery获取URL的锚点 #anchor?

17
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个回答

37

你可以通过将以下内容替换为基于window.location.hash来设置初始隐藏:

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

使用以下代码:

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

这将首先隐藏两个元素,然后显示带有#red-hashhere的元素,或者默认显示像您现在所拥有的#red-information元素。


@Adam - 这不是一个非常有帮助的描述 :) 什么没有工作...你是否使用了与问题中完全相同的URL? - Nick Craver

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接