我試圖複製一個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/) –