2009-11-01 136 views
0

我想找到一些子元素在UL父元素中。但是,我只需要找到第一個。下面是我使用jQuery找不到適用於:第一個

$('div.item a').click(function() { 
    $(this).parent().next('ul.subItems').find('a:first').addClass('selected'); 
}); 

HTML:

<div class="item"><a id="main5830" href="http://www.mysite.com">Test</a></div> 
<ul class="subItems"> 
<li><a>test 1</a></li> 
<li><a>test 2</a></li> 
<li><a>test 3</a></li> 
</ul> 

我想測試1是獲得類中選出的元素。

出於某種原因,這不是選擇UL中的第一個a或UL元素中的任何一個。我在這裏做錯了什麼?

回答

6

它確實有效,只需在點擊事件處理程序的末尾使用return false;(或event.preventDefault();)即可阻止錨點的默認點擊行爲。

$('div.item a').click(function() { 
    $(this).parent().next('ul.subItems').find('a:first').addClass('selected'); 
    return false; 
}); 

$('div.item a').click(function(e) { 
    e.preventDefault(); 
    $(this).parent().next('ul.subItems').find('a:first').addClass('selected'); 
}); 

這裏有一個Working Demo顯示它的工作

+0

是啊,現在用返回false;在我的點擊功能結束時,我只是沒有包含所有的代碼。嗯,奇怪你的演示正在工作,但我的不是......我會再看一遍。 – 2009-11-01 19:51:49

+0

也許是你沒有發佈的代碼有問題?如果該代碼中存在錯誤,那麼您發佈的代碼可能無法在某些瀏覽器中使用 – 2009-11-01 20:07:51

相關問題