如何选择所有下一个课程,直到上一课并隐藏?

时间:2014-10-10 13:17:17

标签: jquery jquery-selectors hide html-table

考虑以下部分表结构:

<tr id="TEAM00349" class="trheader darker-header" data-open="false">
    <td rowspan="6">
        <h5>
            <b>
        </h5>
    </td>
</tr>
<tr class="org" style="display: table-row;">
    <td>
    <td>288</td>
    <td>193</td>
    <td></td>
    <td></td>
    <td>137</td>
    <td>71</td>
    <td>55</td>
    <td>12</td>
</tr>
<tr class="org" style="display: table-row;">
    <td>
    <td>20</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
</tr>
<tr class="org" style="display: table-row;">
    <td>
    <td>10</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
</tr>
<tr style="display: table-row;">
    <td rowspan="6">  A0201486: sibongile Madonda</td>
    <td>
    <td>173</td>
    <td>173</td>
    <td></td>
    <td></td>
    <td>117</td>
    <td>58</td>
    <td>45</td>
    <td>10</td>
</tr>
<tr style="display: table-row;">
    <td>
    <td>20</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
</tr>
<tr style="display: table-row;">
    <td>
    <td>10</td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
</tr>

我尝试过:

$("#"+obj.org_id).next("tr.org").nextUntil('tr.trheader' ).eq(-1).css({"display": "none"});

其中org_id是顶行的id

<tr id="TEAM00349" class="trheader darker-header" data-open="false">

我是否试图过度复杂化(我倾向于这样做)? 在最后一个tr类之前选择所有class='org' org并使用该类隐藏行的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

尝试:

$("#"+obj.org_id).next("tr.org").addBack().nextUntil(":not('tr.org')").hide()

答案 1 :(得分:0)

试试这个:

$("#"+obj.org_id).nextUntil('tr.trheader', "org" ).css({"display": "none"});