2015-05-21 52 views
0

我在我的HTML是這樣的:如果它發生的jQuery remove元素兩次

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

現在,隨着jQuery我想刪除從DOM類onlyContent HTML的第二occurence。

最終的結果應該是這樣的:

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

我想通了,你能以某種方式使用nth-child -selector,但在嘗試訪問這種方式並沒有爲我

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

你的代碼工作[演示](http://jsfiddle.net/3bptwLzh/1/) – ozil

回答

5

您可以使用:eq(1)在匹配組靶向第二個元素:

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

如果要素超過兩個數,那麼你應該使用:not(:first):gt(0)

​​

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

使用下面的代碼。使用jQuery :eq()選擇器。

在匹配集內的索引n處選擇元素。

檢查DEMO

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

的檢查是相當超級 –

+0

當jquery方法能夠處理自己。 –

+0

@ A.Wolff答案已更新。我認爲它提供'undefined'如果不是可用的元素 –

1

你可以試試這個 -

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

它會刪除所有的重複。只有第一個會出席。

+0

檢查是相當超級 –

+0

@ A.Wolff正確。這是沒有必要的。謝謝 –

1

您可以使用.slice

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

不錯,簡單,沒有大驚小怪。 Working example

.slice文檔:

減少匹配的元素通過一系列的 指數

你可以找到更多here指定的一個子集。

0

使用.length屬性檢查頁面上所選元素的數量,如果其值大於1,則刪除除第一個元素以外的元素...

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

你可以嘗試

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

你可以試試這個

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