代码之家  ›  专栏  ›  技术社区  ›  Chris

如何从表中删除某些行?

  •  0
  • Chris  · 技术社区  · 6 年前

    这似乎是以前有人问过,但在称之为重复之前,请仔细阅读;)

    我有一张桌子

    <table id="MyTable">
        <tr class="k-master-row"></tr>
        <tr class="k-detail-row"></tr>
        <tr class="k-master-row"></tr>
        <tr class="k-master-row"></tr>
        <tr class="k-detail-row"></tr>
        <tr class="k-master-row k-state-selected"></tr>
        <tr class="k-detail-row"></tr>
        <tr class="k-master-row"></tr>
        <tr class="k-master-row"></tr>
        <tr class="k-detail-row"></tr>
    </table>
    

    <tr class="k-master-row"></tr>
    <tr class="k-detail-row"></tr>
    

    现在我遇到的问题是我需要删除所有k-detail-rows,除了detail行

    <tr class="k-master-row k-state-selected"></tr>
    <tr class="k-detail-row"></tr>
    

    因此,如果k-master-row有一个k-state-selected类,我需要保留它的k-detail-row并删除其他k-detail-row。

    我知道我可以使用

    $('#MyTable .k-detail-row').remove()
    

    但这会删除所有的k-detail-rows,这不是我想要的。。

    因此,简言之,使用jquery或javascript,如何删除所有与选择了k-state-selected类的主行无关的细节行?

    1 回复  |  直到 6 年前
        1
  •  3
  •   Mitya    6 年前

    逻辑似乎是您希望删除所有 .k-detail-row 没有的元素 立即 k-state-selected .

    在这种情况下:

    $('#MyTable :not(.k-state-selected) + .k-detail-row').remove();
    

    .k-详图-世界其他地区 元素的前一个同级元素不是 .k-state-selected .