2010-10-05 30 views
0

我有以下的html:得到參考以往跨度對象選擇

<span class="addEventHidden"><img src="/Content/Images/add.gif"></span> 
<br> 
<div class="event">My Event</div> 
<div class="event">My Event 2</div> 
<div class="event">My Event 3</div> 
<div class="event">My Event 4</div> 

然後我有以下事件處理程序,當我點擊任何一個「事件」分區:

$('.event').live('click', function() { 

我現在想從這個事件處理函數中獲得對類的引用,其中class =「addEventHidden」。我試過這個:

var previousAddEvent = $(this).prev(".addEventHidden"); 

但這似乎沒有工作。有什麼建議麼?

回答

4

使用.prevAll():first,像這樣:

var previousAddEvent = $(this).prevAll(".addEventHidden:first"); 

.prev("selector")得到立即以前的兄弟,如果它選擇匹配,它看起來並不直到找到一個匹配。 .prevAll()將以預期的順序(反向)獲得所有以前的兄弟姐妹,所以我們只需要第一個與我們的選擇器匹配的兄弟。

+0

再一次,你的答案在jquery和黃金一樣好 – leora 2010-10-05 16:41:23

0

不知道什麼更多關於您的HTML,我會假設你已經裝箱這個和其他對象適當的。如果你有,一個答案是

var previousAddEvent = $('.addEventHidden', $(this).parent());