2009-10-02 65 views
1

$('#head_menu a')。click(function(){ currentPage = document.location.hash.split('#')[1]; });JQuery - url location and click event

<div id="head_menu"> 
    <a href="#order"><div>make order</div></a> 
    <a href="#portfolio"><div>portfolie</div></a> 
    <a href="#contacts"><div>contacts</div></a> 
    <a href="#vacancies"><div>vacancies</div></a> 
    <a href="#about"><div>about company</div></a> 
</div> 

所以,当我点击head_menu div中的链接时,我进入了这个处理程序。但有一个麻烦:如果url有,例如#about hash,在处理程序中,我会得到'about',而不是在我点击的地方。我可以在点击处理程序中获得新的url-hash吗?

回答

2

为什么不看看点击链接的href属性?

$('#head_menu a').click(function(){ 
    currentPage = this.href.split('#')[1]; 
}); 
+0

好主意,谢谢=) – Ockonal 2009-10-02 19:36:02

+0

你也可以从属性获得散列... $(this).attr('hash “);但是这也包括哈希(#)以及..如果你需要在你的页面上某个ID的哈希值,这很好:P – Mottie 2009-10-03 02:11:46

2

不明白的问题;)

BTW:

谁插入diva另一个人。 “a”是内联元素,所以它不能有Div(它是块元素)

+0

我的a有显示:block – Ockonal 2009-10-02 20:24:40

+0

所以你可以删除div :) – IProblemFactory 2009-10-02 20:43:34

+0

好的,谢谢。我做的。 – Ockonal 2009-10-03 07:41:37