3

我正在尝试让 jQuery 从 URL 中获取主题标签并使用它执行一些功能:

标签示例:

http://www.example.com/Help.asp#contact

我建立了一个帮助中心。该帮助中心隐藏了页面加载时的所有答案,当您单击问题时,答案会向下滑动。每个问题都有自己anchor的名称标识符。因此,当您访问http://www.example.com/Help.asp#contact时,文档会自动向下滚动到<a name="contact">. 当我们想将用户直接引导至他们在帮助中心提出的问题时,我们会在电子邮件或其他任何方式中大量使用它们anchor但是,如果在页面加载后一秒钟触发它,它会更容易使用。我猜是,我需要获取主题标签,并有一个像这样的 jQuery 脚本:

$(document).ready(function(){
$('a[name="~~HASHTAG~~"]').trigger('click').delay(1000);
});

如何从 URL 中获取主题标签?谢谢你的帮助。

这是我的 HTML http://jsfiddle.net/tBLuL/

4

4 回答 4

3

您正在寻找 javascript 值

location.hash

在您的情况下,它将包含 url 的 #Hash 部分

#contact
于 2012-02-05T02:42:26.800 回答
1

使用对象的hash属性window...

$(document).ready(function(){
    var thehash = window.location.hash; // #contact

    $('a[name="' + thehash.replace('#','') + '"]')
                         .trigger('click')
                         .delay(1000);
});
于 2012-02-05T02:42:48.377 回答
0

试试这个。

$('a[name="' + location.hash.replace('#', '') + '"]').click().delay(1000);

点击后1秒的延迟是没用的。您想通过延迟实现什么目标?

更新:

如果你想延迟click试试这个。

$('a[name="' + location.hash.replace('#', '') + '"]').delay(1000).click();
于 2012-02-05T02:53:05.047 回答
0

检查window.location对象。location.hash完全符合您的要求,无需 jQuery。

于 2012-02-05T03:04:34.903 回答