From e35abc9d2fac0471cbe8089dc0e33a72b8029ada Mon Sep 17 00:00:00 2001 From: Igor Minar Date: Wed, 4 Jun 2014 08:23:37 -0700 Subject: [PATCH] perf(jqLite): optimize element dealocation Iterate only over elements and not nodes since we don't attach data or handlers to text/comment nodes. --- src/jqLite.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/jqLite.js b/src/jqLite.js index fa08877c..297c4304 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -241,8 +241,10 @@ function jqLiteClone(element) { function jqLiteDealoc(element){ jqLiteRemoveData(element); - for ( var i = 0, children = element.childNodes || []; i < children.length; i++) { - jqLiteDealoc(children[i]); + var childElement; + for ( var i = 0, children = element.children, l = (children && children.length) || 0; i < l; i++) { + childElement = children[i]; + jqLiteDealoc(childElement); } }