我正在尝试复制div并将其附加到它的克隆之上。不幸的是,它似乎创造了额外的重复。发生了什么事?
以下是一个示例:http://jsfiddle.net/QEN5N/
答案 0 :(得分:2)
live会将它应用于所有具有该类的新的,所以你将鼠标悬停在你创建的元素上然后再制作另一个等等。
通过将其更改为克隆来删除克隆中的searchResultItem
类。
elem.addClass('created').removeClass('searchResultItem');
或:
排除创建的。像这样:
$('.searchResultItem:not(.created)')
要么有效:)
答案 1 :(得分:2)
重要变化:
$('.searchResultItem:not(.clone)').live({ ...
elem.addClass('clone');
.live
将mouseover绑定到克隆元素。
PS .live
已被弃用,而是使用.on
。
答案 2 :(得分:0)
您正在克隆整个div,包括“searchResultItem”类。所以它也克隆了该项目的行为。只需在elem.css上方的代码中添加一行:
elem.attr('class', 'searchResultItemClone');
实际上,你可以取出所有应用你的样式的javascript,只需将searchResultItemClone添加到你的样式表中。