得到孩子的正确方法

时间:2012-06-06 10:35:31

标签: javascript jquery jquery-selectors

我有以下代码并且它可以工作但是获取表格的正确方法是添加

HTML

<div> 
    <h4 class="titlebar">
        Skills
        <small><a onclick="return false;" href="/add/" data-span="3">Add</a></small>
    </h4>

    <div class="body">
        <table class="table">
            <tbody>
                <tr><td width="125"></td></tr>
            </tbody>
        </table>
    </div>
</div>

JQuery的

var TableBlock = $(this).closest('.titlebar').next().children('table');

this指向添加链接

1 个答案:

答案 0 :(得分:3)

您没有提到谁是<div class="body"><h4 class="titlebar">的父母,这是至关重要的。

$(this).closest('table-parent(the missing parent)').find('table');

find优于childern,因为即使表格嵌套在未来的开发中,它也能正常工作。

如果您只想要第一个匹配的表:

.find('table').first();
//Or
.find('table:first');

<强>更新 根据您的问题更新,我会向家长div添加一个班级或id

<div class="parent" >
    <h4 class="titlebar">
    ...

然后:

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

如果您无法更改DOM:

$(this).closest('h4.titlebar').parent().find('table');

或者:

$(this).closest('h4.titlebar').siblings('.body').find('table');