2013-07-21 187 views
1

我需要在點擊事件之後顯示div。在當前元素之後選擇下一個DOM元素

HTML

<a href="#" class="more-items-link">more items</a><div class="more-items"></div> 
<a href="#" class="more-items-link">more items</a><div class="more-items"></div> 
etc. 

的Javascript:

$('.more-items').hide(); 

$('.more-items-link').click(function() 
{ 
    var currentDiv = $(this).parent().next(); 
    currentDiv.show(); 
}); 

我怎麼能顯示當前的鏈接,還有就是點擊事件的DIV?我嘗試了很多東西,但仍然無法正常工作。

回答

3

你並不需要移動備份到在這種情況下家長,你只需要一個同級這樣你就可以鏈接本身調用.next()

$('.more-items-link').click(function() 
{ 
    var currentDiv = $(this).next(".more-items"); 
    currentDiv.show(); 
}); 

下面是上面的代碼jsFiddle

+0

奇怪的是,我在第一次嘗試這個,並沒有奏效。現在它工作了!謝謝。 ;) – gaetanm

+0

我認爲它沒有工作,因爲我有一個
標籤後的鏈接。 – gaetanm

+1

@gaetanm如果你只使用'next()'而沒有任何參數,會導致它在這種情況下中斷。將CSS選擇器添加到它可以確保您只選擇符合條件的下一個元素:) – CodingIntrigue

2

試試這個:

$('.more-items-link').click(function() 
{ 
    var currentDiv = $(this).next(); 
    currentDiv.show(); 
}); 

有沒有必要在這裏使用.parent()方法,因爲在div旁邊就是牛逼錨點。

相關問題