jquery选择“父母”

时间:2011-12-07 16:20:13

标签: jquery jquery-selectors

如果我有以下内容:

<div id="wrapper">
    <h3>Title</h3><!-- I want to select this --> 
    <a name="anchor-name"></a>
    <div class="section">
        <h4>Sub section</h4>
        <a name="subsection-name"></a> <!-- this is selected -->
        <div class="subsection"></div>
    </div>
    <h3>Title</h3>
    <a name="anchor-name"> </a>
    <div class="section">
        <h4>Sub section</h4>
        <a name="subsection-name"></a> 
        <div class="subsection"></div>
    </div>
    <h3>Title</h3>
    <a name="anchor-name"></a>
    <div class="section">
        <h4>Sub section</h4>
        <a name="subsection-name"></a> 
        <div class="subsection"></div>
    </div>
</div>

我选择了锚点(如图所示)如何访问<h3>Title</h3>?我想得到最近的“父母h3”......

3 个答案:

答案 0 :(得分:4)

在我们继续前进之前,值得注意的是h3 不是 a元素的父级。但是,以下应选择h4,假设HTML结构一致:

$(this).closest('div.section').prevAll('h3:first');

JS Fiddle demo

顺便提一下,如果HTML的这个片段包含在另一个元素中,则给出:

<div class="contentWrapper">
    <h3>Title</h3>
             <a name="anchor-name"></a>
             <div class="section">
                    <h4>Sub section</h4>
                    <a name="subsection-name"></a> // this is selected
    <!-- ...other stuff... -->
</div>

然后它最容易使用:

$(this).closest('.contentWrapper').find('h3');

参考文献:

答案 1 :(得分:1)

h3不是父级,它是父对象中的子级,是什么“包含”h3?

想象一下,它是另一个div,ID为主持人......并且所选的a是$(this):

$ h3 = $(this).parent(“#mainholder”)。children(“h3”)

答案 2 :(得分:-1)

使用jQuery closest()函数;

$("a[name=subsection-name]").closest("h3");