2012-04-01 54 views
0

我正在做一個非常基本的菜單,但我似乎無法讓它工作。我爲它使用jQuery。這是迄今爲止我所擁有的。jQuery菜單使用<a>標籤

<script> 
$(document).ready(function(){ 
    $("a#lnk").click(function(){ 
     top.location.href="http://"+this.lnk 
    }); 
}); 
</script> 

我已經使用了自定義的「lnk」屬性來存儲站點鏈接。誰能幫忙?

+0

我看你設置的東西href屬性,但實際上沒有做其他事情,嘗試發送點擊事件,你設置的href元素,假設它是一個元素???? – RadBrad 2012-04-01 16:18:46

+0

我想我明白你在做什麼,但你需要解釋'top.location'是什麼? – RadBrad 2012-04-01 16:21:03

回答

2

你應該做

$("a#lnk").click(function(){ 
    top.location.href="http://"+$(this).attr('lnk'); 
}); 

但是這是沒有意義的我,因爲它已經是一個鏈接,你shuold使用href屬性

+0

謝謝。這真的有幫助。 :) – celliott1997 2012-04-01 16:24:56

2

如果您必須存儲這樣的自定義數據,使用數據屬性:data-lnk="foo.com"而不是僞造屬性,但爲什麼不使用href?

<a class="lnk" href="http://foo.com">my link</a> 


$("a.lnk").click(function(e){ 
    e.preventDefault(); 
    top.location.href = $(this).attr('href'); 
}); 
0

如上所述,爲什麼不使用href?無論出於什麼原因你不喜歡,如上所述,我會使用html5數據屬性。

從jQuery 1.4.3起,任何數據屬性都會自動被拖入jQuery數據對象中。我會建議通過.attr來訪問該值。