2

我需要删除<tr>表格类中呈现页面中的几行,"form-table"使用remove(); 请参阅下面的注释标记

问题是在呈现的页面中还有其他几个具有“form-table”类的表(为清楚起见,下面未显示其他表)。这些其他表格中的每一个都有不同的<h3>标题。

是否可以针对<tr>下表中的最后两行而忽略具有相同类别的其他表form-table?可以使用此表的标题来<tr>定位这两个吗?<h3>Name</h3>

IE:

 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

您可以使用:firstnth-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 回答