以简单的形式,我的html表是这样的:
Article | description | links | price
<table>
<tr>
<td>
</td>
OC 90
<td>
ololooo
</td>
<td>
</td>
<td>
123
</td>
</tr>
<tr>
<td>
OC90
</td>
<td>
some other ololo
</td>
<td>
<a href="">link</a>
</td>
<td>
123
</td>
</tr>
<tr>
<td>
OC 90
</td>
<td>
other other oloooloo
</td>
<td>
</td>
<td>
321
</td>
</tr>
</table>
但我该怎么办,我从表格中删除重复,但是!!!只有当第一列(也是大写并且在检查时删除自由空间)和最后一个td(所以文章和价格相同),但主要的麻烦是在表格中留下这样的行,在第三列有链接的...
之后,我的桌子必须看起来:
<table>
<tr>
<td>
OC90
</td>
<td>
some other ololo
</td>
<td>
<a href="">link</a>
</td>
<td>
123
</td>
</tr>
<tr>
<td>
OC 90
</td>
<td>
other other oloooloo
</td>
<td>
</td>
<td>
321
</td>
</tr>
</table>
我尝试过这样的事情:
var seen = {};
$('table tr').each(function() {
var tr = $(this).clone();
if(tr.not(':input')){ //tried for input, is not strange)
tr.find("td:eq(2)").remove();
tr.find("td:eq(3)").remove();
// tr.find("td:eq(2)").remove();
var txt = tr.text().toLowerCase().replace(/\s+/g, '');;
if (seen[txt])
$(this).remove();
else
seen[txt] = true;
}
}
});
但这对我没有帮助....
也是完整版表:
请帮我删除表格中的副本....
答案 0 :(得分:0)
试试这个:
var seen = {};
$('#table tr').each(function () {
var tr = $(this).clone();
if (tr.not(':input')) {
tr.find("td:eq(1)").remove();
tr.find("td:eq(1)").remove();
var txt = tr.text().toLowerCase().replace(/\s+/g, '');
if (seen[txt]) $(this).remove();
else seen[txt] = true;
}
});
<强> Sample 强>