当我尝试使用jquery克隆一个元素时,我有一点问题我有这个,我想克隆一个名为clone的div,并在其他地方放入其他div。
<li class="jqModal" >
<div class="clone">
<div class="image">
<img src="<?php echo $products[$j]['thumb']; ?>"
title="<?php echo $products[$j]['name']; ?>" alt="<?php echo $products[$j]['name']; ?>" />
</div>
<h2><a href=""><?php echo $products[$j]['name']; ?></a></h2>
<strong class="price"><?php echo $products[$j]['price']; ?></strong>
<a href="<?php echo $products[$j]['href']; ?>">More details</a>
</div>
</li>`
我在准备好的文件中使用了这个
$(document).ready(function () {
$(".product-list li").hover(
function () {
//replace image and id
$var = $(this).clone(false).find("#clone").
$('#div-to-replace').replaceWith($var);
}
);
});
但它没有任何建议,谢谢你提前。 :)
答案 0 :(得分:1)
试试这个:
$(".product-list li").hover(
function () {
//replace image and id
$var = $('.clone', this).clone();
$('#div-to-replace').replaceWith($var);
}
);
您的代码更改:
答案 1 :(得分:1)
我在这里看到了3个问题,首先是这一行:
$var = $(this).clone(false).find("#clone").
您最后需要;
而不是.
,因此您不会收到语法错误,clone
也是类而不是#ID
,因此您需要.find('.clone')
。然后在这里:
$('#div-to-replace').replaceWith($var);
你要替换的<div>
将完全消失,所以下次无法使用,我想你想要的是:
var product = $(this).find('.clone').clone();
$('#div-to-replace').empty().append(product);
这不会取代#div-to-replace
,而是将内容放在那里,否则当您停留下一个产品时,您将错过<div>
。另外一定要在创建局部变量时使用var
,这样它就不会产生不必要的副作用,而不会产生全局变量:)