jQuery - clone() 不是函数

jQuery - clone() is not a function

我正在尝试从此块中复制我的一些元素并将它们粘贴到最后:

<div class="brands">
    <img src="brand1.png" alt="1" />
    <img src="brand2.png" alt="2" />
    <img src="brand3.png" alt="3" />
</div>

这就是我正在做的事情:

for (var i = 0; i < 2; i++) {           
    $('.brands img')[i].clone().appendTo('.brands');            
}

但后来我在控制台中看到:TypeError: $(...)[i].clone is not a function,jQuery 未包含在内。我的代码有什么问题?

您不需要循环。 https://api.jquery.com/slice/

$('.brands img').slice(0, 2).clone().appendTo('.brands');

您遇到的问题是,一旦您使用 [index].get(index)$() 函数中提取本机元素,您就会失去 jQuery 对象方法的可链接性.

当您使用

$("selector")[n]

你得到 DOM 节点,而不是 jquery 对象(它没有 .clone() (它是 cloneNode())

改为使用

$("selector").eq(n)

更新代码:

for (var i = 0; i < 2; i++) {           
    $('.brands img').eq(i).clone().appendTo('.brands');            
}

对于所有 img 元素,clone()appendTo('.brands') 将起作用。

$('.brands img').clone().appendTo('.brands');