使用jquery从Html表中删除重复的行

时间:2015-02-04 13:15:37

标签: javascript jquery css

如果该表的所有值都相同,我试图删除表 我在下表使用 您可以在JSFiddle中查看此内容                           我的名字00:566£88.877                      我的名字00:566£88.87167         

        <tr class="Awaitingdispatch" align="center" valign="middle">
        <td>XYZ </td><td>02.52</td><td>6</td><td>£150.25</td><td class="hideGridColumn">167</td>
    </tr>
        <tr class="Awaitingdispatch" align="center" valign="middle">
        <td>My Name</td><td>02:56</td><td>167</td><td>£150.25</td><td class="hideGridColumn">167</td>
    </tr>
</table>

的CSS:      .gridview-container表         {             字体大小:12像素;             }

    .gridview-container tr:first-child td
    {
        font-weight:bold;
        text-align:center;
        }
    .hideGridColumn
    {
        display:none;
    }

    .dispatch 
    {background : lightgreen;
        }
.PRESS 
    {background :#FF9933;
        }
        .Awaitingdispatch
         {background :yellow;
        }

DEMO On JSFIddle

如果所有单元格相等,我想删除行 注意:我想忽略隐藏的单元格

1 个答案:

答案 0 :(得分:1)

下面的代码删除所有具有相似值的行:

function removeDuplicateRows($table){
    function getVisibleRowText($row){
        return $row.find('td:visible').text().toLowerCase();
    }

    $table.find('tr').each(function(index, row){
        var $row = $(row);
        $row.nextAll('tr').each(function(index, next){
            var $next = $(next);
            if(getVisibleRowText($next) == getVisibleRowText($row))
                $next.remove();
        })
    });
}

removeDuplicateRows($('table'));

Fiddle