我有以下html
<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");
只是想了解......
答案 0 :(得分:5)
remove方法不会删除与选择器匹配的元素,它会删除组中与选择器匹配的元素。 例如,这将删除第一个和第三个div:
<div class="remove">jquery</div>
<div>remove</div>
<div class="remove">test</div>
JavaScript的:
$('div').remove('.remove');
实际上,在删除内部使用选择器几乎没用,因为你也可以这样做:
$('div.remove').remove();
同样的事情也会发生。
答案 1 :(得分:1)
这也可以,虽然在你的例子中没有理由这样写 - 只是额外的代码。
$(".foobar").children("ul").remove();
如果您有其他“ul”在DOM树的下方,并且您只想删除直接子元素,那么会会有所帮助。