0

私は以下のコードを持っていますが、それは動作しますが、追加のテーブル onclick を取得する正しい方法は何ですか?

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リンクを追加するポイント

4

1 に答える 1

3

<div class="body">誰が親で、<h4 class="titlebar">どれが重要かについては言及していません。

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

findchildern将来の開発でテーブルがネストされても機能するため、より優れています。

最初に一致したテーブルのみが必要な場合:

.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');
于 2012-06-06T10:38:02.423 に答える