2

<tr>"form-table"remove(); See the commented markup belowを使用して、テーブル クラス内のレンダリングされたページのいくつかの行を削除する必要があります。

問題は、レンダリングされたページにクラス "form-table" を持つ他のいくつかのテーブルがあることです(明確にするために、他のテーブルは以下に示されていません)。これらの他の各テーブルには、異なる<h3>見出しがあります。

以下のテーブルの最後の 2<tr>行をターゲットにして、同じクラスの他のテーブルを無視することはできform-tableますか? この表の見出しを使用して、これら 2 つ<tr>をターゲットにすることはできますか?<h3>Name</h3>

すなわち:

 jQuery(document).ready(function( $ ){
    $("*target <tr>'s here*").remove();

  });

レンダリングされたマークアップ:

<h3>Name</h3>

<table class="form-table">
    <tr>
        <th><label for="user_login">Username</label></th>
        <td><input type="text" name="user_login" id="user_login" value="subscriber" disabled="disabled" class="regular-text" /> <span class="description">Usernames cannot be changed.</span></td>
    </tr>

<tr>
    <th><label for="first_name">First Name</label></th>
    <td><input type="text" name="first_name" id="first_name" value="subscriber" class="regular-text" /></td>
</tr>

<tr>
    <th><label for="last_name">Last Name</label></th>
    <td><input type="text" name="last_name" id="last_name" value="" class="regular-text" /></td>
</tr>

<!-- Need to display:none or remove the two <tr>'s below: -->

<tr>
    <th><label for="nickname">Nickname <span class="description">(required)</span></label></th>
    <td><input type="text" name="nickname" id="nickname" value="subscriber" class="regular-text" /></td>
</tr>

<tr>
    <th><label for="display_name">Display name publicly as</label></th>
    <td>
        <select name="display_name" id="display_name">
                    <option  selected='selected'>subscriber</option>
                </select>
    </td>
</tr>

<!-- Need to display:none or remove the two <tr>'s above: -->

</table>
4

3 に答える 3

2

どうですか:

$('h3:contains("Name") + table tr:gt(2)')

または

$('h3:contains("Name")').next().find('tr:gt(2)')

編集:

デモ: http://jsfiddle.net/kMYY3/1/

于 2012-11-11T19:59:24.747 に答える
1

:firstまたはnth-child()関数を使用して特定のテーブルをターゲットにしてから、gt()関数を使用して 2 より大きいすべての TR をターゲットにすることができます。

例 1:

// assuming that your target table is the first one among the other tables with the same class
var myTable = $("h3 :first").next(".form-table").find("tr:gt(2)").remove()

例 2:

// assuming that your target table's h3 has the text "Name" inside

var myTable = $("h3:contains('Name')").next(".form-table").find("tr:gt(2)").remove()
于 2012-11-11T19:57:12.007 に答える
0

どうですか:

$('.form-table tr:gt(2)');  //note the index is 0 based

jQuery gt セレクター

于 2012-11-11T19:55:48.193 に答える