Jquery Clone只指向元素的子元素

时间:2015-08-05 14:26:29

标签: jquery clone children

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

<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吗?

3 个答案:

答案 0 :(得分:4)

你可以用:

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

<强> jsFiddle example

答案 1 :(得分:0)

首先需要添加所有li(带有sub-ul),然后找到&#34; ul&#34;并删除它:

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

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

答案 2 :(得分:0)

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

关于jsFiddle的示例:https://jsfiddle.net/rcjwv0ez/