2013-07-09 50 views
1

這是我的代碼。如何刪除一個div列表

<div id="list"> <div class="a">1</div><div class="b">1</div></div> 
<div id="list"> <div class="a">2</div><div class="b">2</div></div> 
<div id="list"> <div class="a">3</div><div class="b">3</div></div> 
<div id="list"> <div class="a">4</div><div class="b">4</div></div> 

我需要刪除

<div id="list"> <div class="a">3</div><div class="b">3</div></div> 

I tried $('#list[2]').remove() but it doesn't work. Help me, please. 
+0

註釋掉第三行? :] – jdero

+2

你有多個具有相同'id'的div。這是無效的HTML,'id's在文檔中必須是唯一的。 – jmoerdyk

+0

爲此類事物使用類。這是他們的目的。 –

回答

2

最好不要使用相同的身份證,那將會一團糟,你的文檔ID都是唯一的,使用類來代替:

<div class="list"> <div class="a">1</div><div class="b">1</div></div> 
<div class="list"> <div class="a">2</div><div class="b">2</div></div> 
<div class="list"> <div class="a">3</div><div class="b">3</div></div> 
<div class="list"> <div class="a">4</div><div class="b">4</div></div> 

訪問它通過:

$('div[class="list"]').eq(2).remove(); 

或:

$('.list').eq(2).remove(); 

你看eq(2)因爲元素開始得到來自0計數,所以2就是你的了list類第三個元素。

+0

你的第一個例子不會工作。另外,不要組成你自己的屬性。用'data-'前綴。 – Blender

+0

@Blender:對,好點,我修好了。 –

+0

也許我是一個學生,但爲什麼不''('div.list')。eq(1).remove();'? –

0

更換id="list"class="list"並嘗試

$(".list:contains('3')").remove(); 
0

如果要使用情商(2),它會刪除DIV索引2,記住指數爲0基於零。

對於通用的答案試試下面的代碼。

$('.a:contains(3)').parent().remove() 

無論您需要搜索指定爲包含的參數。在這裏,我們應該尋找「3」,所以我們把它當作3.

注:也永遠記住,ID應該在DOM獨特。這是首要的規則。

入住這Demo