使用jQuery查找元素的父元素

时间:2012-05-12 10:31:51

标签: jquery

  

可能重复:
  Detecting closest or parent div

我需要一些关于使用jquery查找元素的帮助。作为主题提示,我需要找到给定元素的容器。我已经有了像;

这样的代码
$('.cancel_button').bind "click", (event) ->
    element = $(this.parentElement)
    ...
    ...

但对我来说这似乎很难看。取消button位于section元素中。我想知道是否有可能做类似

的事情
$(this).containerElement('section')

2 个答案:

答案 0 :(得分:6)

您可能正在寻找parentclosest

$(this).parent()

// or

$(this).closest('section')

您甚至可能希望将它们组合在一起,因为如果匹配,closest将返回当前元素。因此,如果您的div位于section范围内的div范围内,则<{1}}

<div id="outer">
    <section>
        <div id="inner">....</div>
    </section>
</div>

...当您在outer发生事件时,您想获得inner,它是:

$(this).parent().closest('div');

但是当您开始使用的元素与选择器不匹配时,您不需要它。

答案 1 :(得分:2)

$(this).parent(); // get parent of current object
$(this).closest('.class'); // get closest parent that have class="class"
$(this).closest('section') // get closest parent that is section element