2011-05-26 64 views
0

我有以下的HTMLjQuery的刪除行爲

<div class="foobar"> 
    <div> child 1 </div> 
    <div> child 2 </div> 
    <ul> 
    <li> list elem 1 </li> 
    <li> list elem 2 </li> 
    <li> list elem 3 </li> 
    </ul> 
</div> 

當我嘗試以下jQuery是預期刪除列表:

$(".foobar ul").remove(); 

然而,當我試試這個,它似乎不工作:

$(".foobar").remove("ul"); 

只是想了解....

回答

5

remove方法不會刪除與選擇器匹配的內部元素,它將刪除組中與選擇器匹配的元素。 例如,這將刪除第一和第三格:

<div class="remove">jquery</div> 
<div>remove</div> 
<div class="remove">test</div> 

的JavaScript:

$('div').remove('.remove'); 

實際上,具有刪除裏面的選擇是幾乎無用的,因爲你也可以這樣做:

$('div.remove').remove(); 

而且會發生同樣的事情。

1

這也可以工作,雖然在你的例子中沒有理由這樣寫 - 只是額外的代碼。

$(".foobar").children("ul").remove(); 

有所幫助,如果你還有其他的「UL」 S進一步下降DOM樹,你只是想刪除的直接子元素。