鍍金池/ 問(wèn)答/HTML/ jquery 如何把前三個(gè)子元素復(fù)制到父容器的后邊?

jquery 如何把前三個(gè)子元素復(fù)制到父容器的后邊?

<ul class="index-list-content">
    <li>xxx</li>
    <li>xxx</li>
    <li>xxx</li>
</ul>


$('.index-list-content').append($('.index-list-content').find('li:lt(3)'));

jqeuery的append不能直接接收jquery對(duì)象嗎?如果改成$('.index-list-content').append($('.index-list-content').find('li:lt(3)').html());只獲得了第一個(gè)li,有什么方法把前三個(gè)子元素復(fù)制到index-list-content的后邊?

回答
編輯回答
孤酒

append具有剪切復(fù)制的功能,所以看似你的代碼沒(méi)起作用

可以使用 clone 克隆下來(lái)

$('.index-list-content').append($('.index-list-content').find('li:lt(3)').clone());
2018年5月29日 03:32
編輯回答
氕氘氚

你的代碼可以生效啊,append可以接受jQuery對(duì)象:

<ul class="index-list-content">
    <li>111</li>
    <li>222</li>
    <li>333</li>
    <li>444</li>
</ul>
$('.index-list-content').append($('.index-list-content').find('li:lt(3)'));

測(cè)試結(jié)果:
clipboard.png

打開(kāi)你給的網(wǎng)址,我這邊是生效的,瀏覽器是Chrome

clipboard.png

我理解錯(cuò)了,懂你的意思了,你是復(fù)制,不是移動(dòng)。上面的代碼的作用是移動(dòng)。

2017年12月27日 12:30
編輯回答
夏木
var $ele = $('.index-list-content');
$ele.chilren().each(function(){
    $(this).clone().insertAfter($('.index-list-content'))
})
2017年2月21日 20:45