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()
您需要先添加所有的 li(带有子 ul),然后找到 "ul" 并将其删除:
var leftNav = $(".leftNav").children().clone();
leftNav.find("ul").remove();
$(".clone").append(leftNav);
var leftNav = $(".leftNav").children().clone().find('*').remove().end();
jsFiddle 示例:https://jsfiddle.net/rcjwv0ez/
我正在尝试克隆无序列表的第一层仅,而不是除此之外的任何子级。我的清单如下。
<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()
您需要先添加所有的 li(带有子 ul),然后找到 "ul" 并将其删除:
var leftNav = $(".leftNav").children().clone();
leftNav.find("ul").remove();
$(".clone").append(leftNav);
var leftNav = $(".leftNav").children().clone().find('*').remove().end();
jsFiddle 示例:https://jsfiddle.net/rcjwv0ez/