Why is the jquery empty function so complicated?
html, javascript, jquery
Solution
Just think about `.data()` expandos and event handlers... By just removing the DOM, you would create memory leaks every time.
Problem
I looked at the `jQuery` source code for the `.empty()` function: ``` empty: function() { for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { // Remove element nodes and prevent memory leaks if ( elem.nodeType === 1 ) { jQuery.cleanData( elem.getElementsByTagName("*") ); } // Remove any remaining nodes while ( elem.firstChild ) { elem.removeChild( elem.firstChild ); } } ``` Couldn't it be a lot simpler with just changing the `innerHTML` to an empty string: ``` empty: function() { for ( var i = 0, elem; (elem = this[i]) != null; i++ ) { elem.innerHTML = ""; } ``` The `empty` docs: Description: Remove all child nodes of the set of matched elements from the DOM.