29 lines
970 B
JavaScript
Executable File
29 lines
970 B
JavaScript
Executable File
function ieImportNode(node, allChildren) {
|
|
// Manually imports node to the provided document
|
|
switch (node.nodeType) {
|
|
case document.ELEMENT_NODE:
|
|
var newNode = document.createElementNS(node.namespaceURI, node.nodeName);
|
|
if(node.attributes && node.attributes.length > 0){
|
|
for(var i = 0, il = node.attributes.length; i < il; i++) {
|
|
newNode.setAttribute(node.attributes[i].nodeName, node.getAttribute(node.attributes[i].nodeName));
|
|
}
|
|
}
|
|
if(allChildren && node.childNodes && node.childNodes.length > 0) {
|
|
for(var i = 0, il = node.childNodes.length; i < il; i++){
|
|
newNode.appendChild(ieImportNode(node.childNodes[i], allChildren));
|
|
}
|
|
}
|
|
|
|
return newNode;
|
|
break;
|
|
|
|
case document.TEXT_NODE:
|
|
|
|
case document.CDATA_SECTION_NODE:
|
|
|
|
case document.COMMENT_NODE:
|
|
|
|
return document.createTextNode(node.nodeValue);
|
|
break;
|
|
}
|
|
} |