我试图复制一个div并将其追加到它的克隆之上。不幸的是,它似乎正在创造额外的重复。这是怎么回事?jQuery克隆/追加创建多个副本
下面是一个例子:http://jsfiddle.net/QEN5N/
我试图复制一个div并将其追加到它的克隆之上。不幸的是,它似乎正在创造额外的重复。这是怎么回事?jQuery克隆/追加创建多个副本
下面是一个例子:http://jsfiddle.net/QEN5N/
现场将其应用到所有新的与类,让你获得对您创建的元素的鼠标悬停,然后它使其他等等。
从你的克隆中删除searchResultItem
类,将其更改为如此。
elem.addClass('created').removeClass('searchResultItem');
或:
disclude创建的。像这样:
$('.searchResultItem:not(.created)')
无论工程:)
在您发布时正确。但那是一个完美的答案。谢谢!以下是后代的小提琴:http://jsfiddle.net/QEN5N/3/ –
我相信Frédéric是正确的。但解决方案依然存在。 –
重要的变化:
$('.searchResultItem:not(.clone)').live({ ...
elem.addClass('clone');
.live
结合鼠标悬停也克隆元素。
PS .live
已被弃用使用.on
代替。
您正在克隆整个div,包括类“searchResultItem”。所以它也克隆了该项目的行为。只是在一个行添加到您的代码你elem.css以上:
elem.attr('class', 'searchResultItemClone');
而实际上,那么你可以拿出所有还申请您的样式,只是添加searchResultItemClone到您的样式表的JavaScript。
您可能还想使用**。prependTo()**进行研究。您目前正在使用.appendTo(),它在元素的末尾添加了一些内容,但是prependTo将“追加到顶部”(http://api.jquery.com/prependTo/) –