最优雅的方式实现相同的元素?

时间:2010-08-26 10:49:33

标签: jquery

我编写了a元素

的函数onclick
   <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");

但我不喜欢它:)

非常感谢

3 个答案:

答案 0 :(得分:6)

您可以使用.closest()

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

.parents()

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

实际上,.closest()是一个更好的选择,因为它只会抓取父节点直到达到所需的节点,而.parents()抓住全部父节点(直到文档根目录)。

参考:.parents().closest()

答案 1 :(得分:0)

尝试jQuery.parents,如下所示:

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

更新:jAndy的答案更好,你应该使用closest,特别是如果left_collapsed div嵌套使得#search_refresh在多个left_collapsed div中。

答案 2 :(得分:0)

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