0
我想盡我自己的clone
功能,但遇到問題。我可以使用jQuery的clone
功能在我自己沒有這樣的問題:'爲什麼我在`each`內部克隆時會丟失原始元素?
$.prototype.cloneDumpingEvents = function() {
return $(this).clone();
};
(或者,看到它在行動:http://jsfiddle.net/Shawn/dCm59/2/)
但是,如果我試圖使它的元素集合的工作(加入each
),它消除了原:
$.prototype.cloneDumpingEvents = function() {
return this.each(function() {
$(this).clone();
});
};
(或者,看到它在行動:http://jsfiddle.net/Shawn/dCm59/3/)
爲什麼第二版刪除原件?
它的工作原理,但我不明白。我甚至沒有使用返回值,爲什麼它會刪除原始元素? – Shawn 2013-02-15 16:08:05
@Shawn因爲'.each()'返回它迭代的原始jQuery對象。 – 2013-02-15 16:08:23
@Shawn - 當然你使用的是返回值:'p.cloneDumpingEvents().text('myClone')...'。看,原始元素從未被刪除。只是你改變了文字,所以你以爲你在看你的新元素。 – 2013-02-15 16:09:04