gpt4 book ai didi

JavaScript 删除 Div 元素上的重复标签

转载 作者:行者123 更新时间:2023-12-02 13:53:44 24 4
gpt4 key购买 nike

如何删除标签元素上的相同文本?在这种情况下,我发现了这个技巧:

var seen = '';

$('div').each(function() {
var see = $(this).text();
if (seen.match(see)) {
$(this).remove();
} else {
seen = $(this).text();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Book</div>
<div>Book</div>
<div>Book</div>
<div>Pencil</div>
<div>Pencil</div>
<div>Book Book Book Pencil Pencil</div>

上面的代码没有错误。因为我在同一个标​​签中包含了相同的几个单词。

<div>Book Book Book Pencil Pencil</div>

有办法解决这个问题吗?

编辑:我想改成<div>Book Pencil</div>

最佳答案

我在下面给出了一个很好的解决方案。

注意:以下两个示例使用与您预期相同的脚本可以很好地工作。这是一个通用脚本,适用于这两个示例

示例 1

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Book</div>
<div>Book</div>
<div>Book</div>
<div>Pencil</div>
<div>Pencil</div>
<div>Book</div>
<div>Book Book Book Pencil Pencil</div>


<script>
var tags = [];
$('div').each(function(){
var tagArray = $(this).text().split(' ');

for(var i = tagArray.length - 1; i >= 0; i--) {
var tag = tagArray[i];
if(tags.indexOf(tag) > -1) {
tagArray.splice(i, 1);
} else {
tags.push(tag);
}
}

var currentTag = tagArray.join(' ');

if(currentTag){
$(this).text(currentTag);
}
else{
$(this).remove();
}
});
</script>

示例 2

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Book Book Book Pencil Pencil</div>


<script>
var tags = [];
$('div').each(function(){
var tagArray = $(this).text().split(' ');

for(var i = tagArray.length - 1; i >= 0; i--) {
var tag = tagArray[i];
if(tags.indexOf(tag) > -1) {
tagArray.splice(i, 1);
} else {
tags.push(tag);
}
}

var currentTag = tagArray.join(' ');

if(currentTag){
$(this).text(currentTag);
}
else{
$(this).remove();
}
});
</script>

关于JavaScript 删除 Div 元素上的重复标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40827406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com