2010-08-26 59 views
1

我的onclick寫功能a元素的最優雅的方式來實現一些元素?

<div class="left_collapsed">Որոնում</div> 
     <div class="container" style="display: none;"> 
      <ul> 
       <li> 
       <a href="" id="search_refresh" >Թարմացնել համակարգը</a> 
       </li> 
      </ul> 
     </div> 
    </div> 

$("#search_refresh").click(function(u) 
{ 
    how can i achieve to first div element here? 
    (i have many div's with left_collapsed class) 

}); 

我寫 $(this).parent("li").parent("ul").parent("div").before("div").addClass("left_expended");

,但我不喜歡:)

感謝很多

+1

有與同一類許多的div,所以我需要另一種方法則'parents' ... – Simon 2010-08-26 10:57:10

回答

6

您可以使用.closest()

$(this).closest('.left_collapsed'); 

.parents()

$(this).parents('.left_collapsed'); 

其實,.closest()是一個更好的選擇,因爲它只會搶父節點直到到達所需的一個,其中.parents() grabs 全部父節點(直到文檔根目錄)。

參考:.parents().closest()

+0

完美。非常感謝:/ – Simon 2010-08-26 10:57:44

0

嘗試jQuery.parents,這樣的事情:

$("#search_refresh").click(function() 
{ 
    var element = $(this).parents(".left_collapsed"); 
}); 

更新:jAndy的回答比較好,您應該使用closest來替代,特別是如果left_collapsed div嵌套使得#search_refresh在多個left_collapsed div內。

+0

有一個'('太多。 – whiskeysierra 2010-08-26 10:53:14

+0

正如我所說,我有「class =」left_collapsed「'。我需要exacltly那個div。 – Simon 2010-08-26 10:53:44

+0

這些'.left_collapsed'元素是否嵌套在一起? – whiskeysierra 2010-08-26 10:56:25

0
$(this).parents('.left_collapsed'); 
+0

看到評論。 – Simon 2010-08-26 10:56:26