根据点击的链接从网址中删除哈希标记值

时间:2011-10-20 12:46:38

标签: jquery

我正在使用下面的脚本将点击链接的href添加到网址。所以mysite.com成了,mysite.com#a1,我还需要实现的是,如果我再次点击该链接它会删除#a1,所以mysite.com#a1会回到mysite.com,或者是mysite .com#a1#a2成为mysite.com#a2。

//creates href for each of my links
$('.contentTrigger a').attr('href', function(i, value) {
    return "#a" + (i+1);
});

//adds href value to url
$('.contentTrigger a').click(function(event) {
    var currentHash = window.location.hash;
    window.location.hash = currentHash + this.hash;
});

由于

1 个答案:

答案 0 :(得分:0)

我不太确定您正在寻找的此解决方案,但您可以查看此内容。

<script type="text/javascript" language="javascript">
    $(document).ready(function(){
        $('.contentTrigger').toggle(function(){
            $(this).attr({'href':$(this).attr('href')+'#a1'});
            return false;
        },function(){
            var href = $(this).attr('href');
            var hash = href.lastIndexOf('#');
            var url = href.substring(0,hash);
            $(this).attr({'href':url});
            return false;
        });
    });
</script>
<a class="contentTrigger" href="http://www.google.com">Click 1</a><br/>
<a class="contentTrigger" href="http://www.google.com#a2">Click 2</a>

单击每个链接时,请参阅窗口状态栏。