【问题标题】:How to remove the duplicates data in each Table TD and TR in Jquery如何在Jquery中删除每个表TD和TR中的重复数据
【发布时间】:2019-11-09 16:25:45
【问题描述】:

我有在 HTML 表中,但在此表中,我想删除每个 <tr> 和每个 <td> 数据中的重复值,请参阅下面的源代码

<table width="100%" id="l2table">
                        <thead><tr>
                            <th>Time </th>
                            <th>Share</th>
                            <th>Price</th>

                        </tr></thead><thead>
                        </thead>
                        <tbody>
                            <tr>
                                <td>15:40:01</td>
                                <td align="center">10,000</td>
                                <td>0.010</td>
                            </tr>
                            <tr>
                                <td>15:39:01</td>
                                <td align="center">10,020</td>
                                <td>0.009</td>
                            </tr>
                            <tr>
                                <td>15:38:01</td>
                                <td align="center">10,000</td>
                                <td>0.009</td>
                            </tr>
                            <tr>
                                <td>15:37:01</td>
                                <td align="center">10,000</td>
                                <td>0.009</td>
                            </tr>
                        </tbody>
                    </table>

我只想删除 tr 以下

<tr>
                                <td>15:37:01</td>
                                <td align="center">10,000</td>
                                <td>0.009</td>
                            </tr>

我尝试过这样的方法,但请帮助我们

$("#l2table tr").each(function () {
                    var tdText = $(this).text();
                    $("#l2table tr")
                        .filter(function () { 
                            return tdText == $(this).text(); 
                        })
                        .not(":first")
                        .remove();

                }); 

【问题讨论】:

    标签: javascript jquery html-table duplicates removechild


    【解决方案1】:

    你去:)

     function toArrayOfValues(text) {
      return text.replace(/ /g, '').split('\n').filter(t => t).filter((t, i) => i != 0).join()
    }
    
    $("#l2table tr").each(function () {
                        var tdText = $(this).text();
                        $("#l2table tr")
                            .filter(function () { 
                                return toArrayOfValues(tdText) == toArrayOfValues($(this).text());
                            })
                            .not(":first")
                            .remove();
    
                    });
    

    【讨论】:

      【解决方案2】:

      &lt;tr&gt; 在这种情况下是包含 HTML 而非文本的父元素。要比较多个&lt;tr&gt; 元素的html 内容,我建议使用.html() 方法而不是.text()

      【讨论】: