Чем заменить importNode в MSIE?Жаль, не встречал подобную проблему... Первое, что приходит в голову - написать функцию, которая будет бегать по дереву и дублировать его уже в нужном документе. Например:
function importElement(srcElem) { .if (srcElem.nodeType == 1) { ..// если спрашивают элемент, то создаем новый ..var resultElem = document.createElement(srcElem.nodeName); ..// добавляем атрибуты ..for (var i = 0; i < srcElem.attributes.length; i++) ...resultElem.setAttribute(srcElem.attributes.item(i).nodeName, srcElem.attributes.item(i).nodeValue) ..// добавляем детей ..for (var i = 0; i < srcElem.childNodes.length; i++) ...resultElem.appendChild(importElement(srcElem.childNodes.item(i))) .} else if (srcElem.nodeType == 3) { ..// а если текстовую ноду... ..var resultElem = document.createTextNode(srcElem.nodeValue); .} .// возвращаем то, что получилось .return resultElem; }
Надеюсь, кто-нибудь предложит более изъящное решение. |