在表中查找重复的行

时间:2012-06-14 10:14:30

标签: jquery html-table

我有一个像这样的表的小应用程序:

<tr>
<td><img class='DeleteButton' alt=delete src='images/delete_icon.png'/></td>
<td class='toHide'>some Data</td>
<td class='toHide'>some Data</td>
<td class='toHide'>some Data</td>
<td>some Data</td>
<td class='toHide'>some Data</td>
<td>some Data</td>
<td>some Data</td>
<td class='toHide'>some Data</td>
<td class='toHide'>some Data</td>
<td class='toHide'>some Data</td>
<td class='toHide'>some Data</td>
</tr>

当我在表格中添加新数据时,我创建了一个包含“建议”的列表 - 来自其他数据表的数据。

但如果我有3个表(A,B,C),并且某些数据(D)在A和B中,并且当我想将D添加到C时,在建议列表中有D两次。

那么如何在表格中找到重复的行以及如何以最有效的方式进行呢?

(只有td-tags没有类toHide事项)

到目前为止,我已经使用jQuery来获取建议列表

 $("all the tables").not(myTable).each(function(){
       $(".suggestData table").append($(this).html());
 }

1 个答案:

答案 0 :(得分:6)

阅读这篇文章:This

根据帖子,这是一个例子:

function removeD(w){
    var seen = {};
    if(w == 'val'){
        $('table tr td').each(function() {
            var txt = $(this).text();
            if (seen[txt])
                $(this).remove();
            else
                seen[txt] = true;
        });
    }else{
        $('table tr td').each(function() {
            var id = $(this).attr('id');
            if (seen[id])
                $(this).remove();
            else
                seen[id] = true;
        });
    }
}

$('#removeID').click(function(){
    removeD('id');
});



$('#removeVal').click(function(){
    removeD('val');
});

Fiddle