如果jquery发生两次,则删除它

时间:2015-05-21 11:02:26

标签: javascript jquery html

我的html中有类似的东西:

<div class="onlyContent">
    <!-- some more stuff here -->
</div>
<div class="onlyContent">
    <!-- some more stuff here -->
</div>

现在,jQuery我希望从dom中删除类onlyContent HTML的第二次出现。

最终结果应为:

<div class="onlyContent">
    <!-- some more stuff here -->
</div>

我发现你可以以某种方式使用nth-child - 选择器,但尝试以这种方式访问​​它并不适合我

$('.onlyContent:nth-child(2)').remove(); 

7 个答案:

答案 0 :(得分:5)

您可以使用:eq(1)来匹配匹配集中的第二个元素:

$('.onlyContent:eq(1)').remove(); 

如果元素数量超过两个,那么您应该使用:not(:first):gt(0)

$('.onlyContent:not(:first)').remove(); 

$('.onlyContent:gt(0)').remove(); 

答案 1 :(得分:2)

使用下面的代码。使用jQuery :eq()选择器。

  

选择匹配集内索引n处的元素。

检查DEMO

   $('.onlyContent:eq(1)').remove(); 

答案 2 :(得分:2)

你可以试试这个

$('.onlyContent:gt(0)').remove();

答案 3 :(得分:1)

你可以试试这个 -

   $('.onlyContent:gt(0)').remove();

它将删除所有重复项。只会出现第一个。

答案 4 :(得分:1)

您可以使用.slice

$(".onlyContent").slice(1).remove();

美好而简单,没有大惊小怪。 Working example

来自.slice文档:

  

将匹配元素集减少到由范围指定的子集   索引

您可以找到更多here

答案 5 :(得分:0)

使用.length属性检查页面上所选元素的数量,如果其值大于1,则删除除第一个以外的元素...

if($('.onlyContent').length > 1) {
$('.onlyContent:gt(0)').remove();
}

答案 6 :(得分:0)

你可以尝试

$(".onlyContent").not(':first').remove();