在调用javascript函数之前更改主题标签

时间:2013-06-03 15:20:58

标签: jquery html hashtag

我有一个简单的HTML链接:<a href="#about"> 当前网址为http://www.example.com/whatever.html#info 我有一个简单的jQuery代码:

$('a').click(function(){
   alert(window.location.hash);
});

现在,当我点击链接时,它会显示旧的#标签(info)。但我想,当我点击链接时,它应该显示新的主题标签(关于)。

在调用jQuery代码之前,是否有一种简单的方法可以更改hashtag的值?

注意我:这只是我目标的简化。我知道这没有任何意义,但我需要它 Note II :由于我的雇主的代理设置,我不能为你提供一个jsfiddle

3 个答案:

答案 0 :(得分:2)

尝试使用$(this).attr('href')获取链接标记的href。

$('a').click(function(){
   alert($(this).attr('href'));
});

并且$(this).attr('href').substring(1)应该在没有about

的情况下返回#

DEMO: http://jsfiddle.net/nhPn5/

答案 1 :(得分:0)

在浏览器执行导航后,您可以在事件循环的稍后阶段调用setTimeout来运行代码:

setTimeout(function() {
    ...
}, 0);

答案 2 :(得分:0)

如果我理解你,你想要更改a标签中的文字。你可以这样做:

$('a').click(function(){
   $(this).attr('href','#about');
   alert(window.location.hash);
});

这样您就可以将href#info更改为#about。 希望这是你所寻找的。