有谁知道如何使用jquery删除html表上的相似元素?

时间:2019-05-28 20:00:49

标签: javascript jquery html

我有这张表是由PHP代码组装而成的(我没有访问权限),但是它带来了相似的结果,如果我尝试删除其中之一,它将删除所有相似的结果,这不是我打算做什么我想删除桌上所有类似的结果,只留下一个。

表非常复杂,因此我将仅保留tr内容,但是当id等于前一个时,td内的所有信息也相等:

`

<table id=ms_evaluations>
<tr id="110732" role="row" class="odd"></tr>
<tr id="110732" role="row" class="odd"></tr>
<tr id="110732" role="row" class="odd"></tr>
<tr id="110321" role="row" class="odd"></tr>
<tr id="110321" role="row" class="odd"></tr>
<tr id="89021" role="row" class="odd"></tr>
<tr id="78901" role="row" class="odd"></tr>
</table>

`

我尝试在javascript上执行以下操作:

    var ids =[];
$("#dt_evaluations").find("tr").each(function(){ ids.push(this.id); });
    var repeated = [];
    for(var i=0; i<=ids.length; i++){
        var compare = ids[i];
        var count = 0;
        for(var x=0; x<=ids.length; x++){
            var copy = ids[x];
            if (x!=i && compare==copy && count==0){
                repeated.push(copy);
                count++
                $($("#(repeated[0])")[0]).remove();
            }

        }

    }

但不起作用。有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我最近找到了解决此问题的方法。

var tableFix = ( function() {
    var seen = {};
    $('tr').each(function() {
        var txt = $(this).text();
        if (seen[txt])
            $(this).remove();
        else
            seen[txt] = true;
    });
});

我在这里找到它:JQuery: Remove duplicate elements?