Jquery 仅克隆元素的直接子元素

Jquery Clone direct children of element only

我正在尝试克隆无序列表的第一层,而不是除此之外的任何子级。我的清单如下。

<ul class='leftNav'>
    <li>A</li>
    <li>D</li>
    <li>C<ul>
         <li>1</li>
         <li>2</li>
         <li>3</li>
    </li>
    <li>D</li>
</ul>

我正在使用以下内容来克隆列表项,但这是在克隆所有内容:

var leftNav = $(".leftNav").children().clone();

我想要的是:

<li>A</li>
<li>D</li>
<li>C</li>
<li>D</li>

jQuery可以吗?

您可以使用:

var leftNav = $('.leftNav > li').clone().find('ul').remove().end()

jsFiddle example

您需要先添加所有的 li(带有子 ul),然后找到 "ul" 并将其删除:

var leftNav = $(".leftNav").children().clone();
leftNav.find("ul").remove();
$(".clone").append(leftNav);

http://jsfiddle.net/952acm99/1/

var leftNav = $(".leftNav").children().clone().find('*').remove().end();

jsFiddle 示例:https://jsfiddle.net/rcjwv0ez/