这就是我所拥有的:
<div class="outer">
<table>
<tr>
<td>some text</td>
<td>more text</td>
</tr>
</table>
<div class="inner">
<table>
<tr>
<td>different text</td>
<td>more text</td>
</tr>
</div>
</div>
基本上我需要搜索整个外部div并查找重复文本。唯一的问题是我需要删除它的第一次迭代而不是第二次迭代。换句话说,如果它是重复的,我想把它留在内部div中并将其移除到它之外。
我有这个代码我已经玩过但无法到达任何地方。我将删除内部div中的副本。
$('.outer td').each(function () {
var txt = $(this).text();
if (seen[txt])
$(this).remove();
else
seen[txt] = true;
$(this).show();
});
Lil help请...我已经筋疲力尽了。
答案 0 :(得分:1)
您可以执行类似
的操作
var seen = {};
$('.outer td').each(function() {
var txt = $(this).text();
if (seen[txt]) {
seen[txt].remove();
}
seen[txt] = this;
$(this).show();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="outer">
<table>
<tr>
<td>some text</td>
<td>more text</td>
</tr>
</table>
<div class="inner">
<table>
<tr>
<td>different text</td>
<td>more text</td>
</tr>
</table>
</div>
</div>
答案 1 :(得分:0)
这应该有效:
$(document).ready(function(){
$('.outer td:not(.inner td)').each(function () {
var txt = $(this).text();
var current = $(this)
$('.inner td').each(function () {
if(txt == $(this).text())
{
current.remove();
}
});
});
});