jQuery clone / append创建多个重复项

时间:2012-01-20 20:20:46

标签: jquery

我正在尝试复制div并将其附加到它的克隆之上。不幸的是,它似乎创造了额外的重复。发生了什么事?

以下是一个示例:http://jsfiddle.net/QEN5N/

3 个答案:

答案 0 :(得分:2)

live会将它应用于所有具有该类的新的,所以你将鼠标悬停在你创建的元素上然后再制作另一个等等。

通过将其更改为克隆来删除克隆中的searchResultItem类。

elem.addClass('created').removeClass('searchResultItem');

或:

排除创建的。像这样:

$('.searchResultItem:not(.created)')

要么有效:)

答案 1 :(得分:2)

http://jsfiddle.net/QEN5N/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添加到你的样式表中。