-1

我有一个 div 结构

<div class="parent">
    <div class="child_item">Data </div>
    <div class="child_item">Data </div>
    <div class="child_item">Data </div>
</div>

我jquery如何删除“父”类的所有子节点而只留下一个?

生成的 DOM 将是具有一个孩子的父级。

<div class="parent">
    <div class="child_item">Data </div>
</div>

编辑 :

$('.parent .child_item').not(':first').remove()

这只会删除一个 div 调用的第一个孩子。如果我有很多父 div 怎么办?

<div class="parent">
    <div class="child_item">Data A</div>
    <div class="child_item">Data B</div>
    <div class="child_item">Data C</div>
</div>
<div class="parent">
    <div class="child_item">Data A</div>
    <div class="child_item">Data B</div>
    <div class="child_item">Data C</div>
</div> ........

结果应该是这样的。

<div class="parent">
        <div class="child_item">Data A</div>
    </div>
<div class="parent">
        <div class="child_item">Data A</div>
    </div>
4

4 回答 4

1
$('.parent .child_item').not(':first').remove()
于 2013-11-12T13:37:25.533 回答
0
$('.parent').each(function (index){
    $(this).find('.child_item').not(':eq(0)').remove();
});

这将从父级中删除除第一个之外的所有子级。

于 2013-11-13T09:34:58.217 回答
0
  $(".parent .child_item").not(':eq(0)').remove();
    //or
    $('.parent .child_item').not(':first').remove();

参考:eq():first

于 2013-11-12T13:36:50.673 回答
0

你可以这样做:

$('.parent > .child_item:not(:first)').remove();

这将删除除第一个之外的所有子元素。

小提琴演示

于 2013-11-12T13:37:07.880 回答