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');
我正在尝试从此块中复制我的一些元素并将它们粘贴到最后:
<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');