Как удалить дубликаты данных в каждой таблице TD и TR в Jquery - PullRequest
0 голосов
/ 27 июня 2019

У меня есть в таблице 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();

                }); 

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

здесь иди:)

 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();

                });
0 голосов
/ 27 июня 2019

<tr> в данном случае это родительский элемент, содержащий HTML, а не текст.Чтобы сравнить html-содержимое нескольких элементов <tr>, я бы предложил использовать метод .html() вместо .text().

...