Skip to main content

Bug Tracker

Side navigation

#4004 closed enhancement (fixed)

Opened January 27, 2009 05:02PM UTC

Closed October 03, 2010 01:57AM UTC

Last modified March 15, 2012 03:26PM UTC

Speed up DOM removal by decoupling event.remove and removeData

Reported by: tr4nslator Owned by:
Priority: major Milestone: 1.3.2
Component: core Version: 1.3.1
Keywords: dom remove Cc:
Blocked by: Blocking:

(as discussed here on jQuery dev)

All jQuery operations that remove DOM nodes (including $.fn.replaceWith, $.fn.empty, $.fn.html, and $.fn.text) use $.fn.remove internally to centralize processing for removing events and expando data.

Many of these methods could be made faster by decoupling element death from DOM removal: once elements are killed, they could be replaced using the fastest method: Node.prototype.innerHTML for $.fn.empty, and Node.prototype.replaceChild for $.fn.replaceWith (which is 20% faster than the current method of appending and then removing).

Attachments (0)
Change History (2)

Changed July 21, 2009 09:25AM UTC by yehuda comment:1

detach() which doesn't remove data is in #6474. Work to use it and use alternative mechanisms is still pending.

Changed October 03, 2010 01:57AM UTC by dmethvin comment:2

resolution: → fixed
status: newclosed

This was done in 1.4 by refactoring into removeData internally.