diff --git a/lib/DOMutil.js b/lib/DOMutil.js index 73ef8ba0..02b4ba85 100644 --- a/lib/DOMutil.js +++ b/lib/DOMutil.js @@ -82,7 +82,7 @@ exports.getSVGElement = function (elementType, JSONcontainer, svgContainer) { * @returns {*} * @private */ -exports.getDOMElement = function (elementType, JSONcontainer, DOMContainer) { +exports.getDOMElement = function (elementType, JSONcontainer, DOMContainer, insertBefore) { var element; // allocate DOM element, if it doesnt yet exist, create one. if (JSONcontainer.hasOwnProperty(elementType)) { // this element has been created before @@ -94,14 +94,24 @@ exports.getDOMElement = function (elementType, JSONcontainer, DOMContainer) { else { // create a new element and add it to the SVG element = document.createElement(elementType); - DOMContainer.appendChild(element); + if (insertBefore !== undefined) { + DOMContainer.insertBefore(element, insertBefore); + } + else { + DOMContainer.appendChild(element); + } } } else { // create a new element and add it to the SVG, also create a new object in the svgElements to keep track of it. element = document.createElement(elementType); JSONcontainer[elementType] = {used: [], redundant: []}; - DOMContainer.appendChild(element); + if (insertBefore !== undefined) { + DOMContainer.insertBefore(element, insertBefore); + } + else { + DOMContainer.appendChild(element); + } } JSONcontainer[elementType].used.push(element); return element;