From 3fcd634c44b33a0ac92d4404f7a4f2c36db070f6 Mon Sep 17 00:00:00 2001 From: Leo Horie Date: Wed, 28 May 2014 21:29:55 -0400 Subject: [PATCH] fix node removal regression --- mithril.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/mithril.js b/mithril.js index b39c7b98..b3b260fd 100644 --- a/mithril.js +++ b/mithril.js @@ -53,9 +53,10 @@ Mithril = m = new function app(window) { cached[cacheCount++] = item } if (!intact) { - if (nodes.length < cached.nodes.length) cached.nodes = cached.nodes.filter(function(node) {return node.parentNode !== null}) for (var i = 0; i < data.length; i++) if (cached[i] !== undefined) nodes = nodes.concat(cached[i].nodes) - for (var i = nodes.length, node; node = cached.nodes[i]; i++) if (node.parentNode !== null) node.parentNode.removeChild(node) + for (var i = nodes.length, node; node = cached.nodes[i]; i++) { + if (node.parentNode !== null && node.parentNode.childNodes.length != nodes.length) node.parentNode.removeChild(node) + } for (var i = cached.nodes.length, node; node = nodes[i]; i++) if (node.parentNode === null) parentElement.appendChild(node) if (data.length < cached.length) cached.length = data.length cached.nodes = nodes