2012-08-16 41 views
0

我用jQuery有點不錯,但我知道它可以做到以下幾點:如何選擇UL> LI中的鏈接,並使其不能用jQuery點擊?

選擇下面的HTML中的鏈接,並使它不會去任何地方。 (我這樣做,以便它顯示一個下拉代替)

這裏是

<ul id="navigation"> 
    <li class="has-drop"><a href="http://72.10.55.131/shop.html/">shop</a></li> 
    <li class="has-drop"><a href="http://72.10.55.131/collections.html/">collections</a></li> 
</ul> 

我努力的目標名單上第二個中的HTML。如果您想查看源代碼,那些鏈接就是實時的。

感謝您的幫助!

+0

檢查我爲僅次於李的答案。 – 2012-08-16 03:07:07

回答

6

捕獲click事件,並防止默認行爲:

$('#navigation li.dropdown').on('click', function(event) { 
    event.preventDefault(); 
}); 
+1

+1'preventDefault()'優於'return false;' – 2012-08-16 03:01:29

+0

太棒了。我將如何只瞄準第二個李?那是我所追求的。 「collections.html」之一。謝謝 – 2012-08-16 03:06:12

+0

我會給它上課。依靠元素的順序是不好的做法。 – Blender 2012-08-16 03:08:58

0

既然你在你的問題中提到I'm trying to target the second one on the list.,因此,如果您只想禁用第二列表項的鏈接行爲只有這樣,你可以使用

$('ul#navigation li').eq(1).find('a').on('click', function(e){ 
    e.preventDefault(); 
}); 

否則(對於所有鏈接),您可以使用Blender的答案。

Demo

0

試試這個

$('li.has-drop:eq(1) a').attr('href','#'); 
+1

請參閱http://jsfiddle.net/hsalama/PZRpm/ – hsalama 2012-08-16 03:07:21

+0

我沒有注意到課堂。 – 2012-08-16 03:09:08