使用jQuery,如何最好地删除父元素中的第一个div?

14
我有以下标记:

我有以下标记:

<div id="parent">
    <div id="divToRemove">
    </div>
</div>

我有以下jQuery代码可以删除第一个div,它可以正常工作:

$('#parent').find('div').remove();
这是移除第一个组件的最佳方式吗?还是使用选择器更有效?如果能提供示例就更好了!
请注意,我知道可以使用:
$('#divToRemove').remove();

不过我想在这种情况下能够使用选择器(原因超出问题范围)。

谢谢, Norm。

6个回答

26

这应该是最快且最安全的方法:

$('#parent').find('div').first().remove();

4

You want

$('#parent').find('div:first').remove();

否则它将删除父级
中的所有

2

假设你正在进行JS事件,并且可以访问"this",我会这样做。

$('#child').click(function(){
    $(this).closest('div#parent').children('div:first').remove();
});

澄清一下,这不是最有效的方式,但在交互事件中很有用。 或者,您可以利用几个选择器:

//closest,parent,next,prev,find,children and nth-child()

0
$('#parent').children('div:first').remove();

如果你只想删除父元素的直接子元素 div,那么可以使用这个方法。当你有更多内部 div 时,它比 .find() 更好用。


0

你可以试试这个。它在我身上完美运作。

$('#parent').find('div:first').remove();


0
我又有一个问题:
$('#parent > div:first').remove();

'>' 选择左侧引用元素的子元素,当然 ':first' 指的是第一个子元素。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接