From 1044df807678daf61a91fdc3f5e93c6ab7d03680 Mon Sep 17 00:00:00 2001 From: "Davide P. Cervone" Date: Sun, 28 Dec 2014 07:11:34 -0500 Subject: [PATCH] When processing an array of elements, don't add any that are already included in the list. --- unpacked/MathJax.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/unpacked/MathJax.js b/unpacked/MathJax.js index a8bcda3a6..cdd6b7a6d 100644 --- a/unpacked/MathJax.js +++ b/unpacked/MathJax.js @@ -2383,8 +2383,12 @@ MathJax.Hub = { elementScripts: function (element) { var scripts = []; if (element instanceof Array || this.isHTMLCollection(element)) { - for (var i = 0, m = element.length; i < m; i++) - {scripts.push.apply(scripts,this.elementScripts(element[i]))} + for (var i = 0, m = element.length; i < m; i++) { + var alreadyDone = 0; + for (var j = 0; j < i && !alreadyDone; j++) + {alreadyDone = element[j].contains(element[i])} + if (!alreadyDone) scripts.push.apply(scripts,this.elementScripts(element[i])); + } return scripts; } if (typeof(element) === 'string') {element = document.getElementById(element)}