Показать сообщение отдельно
  #13 (permalink)  
Старый 17.03.2013, 08:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Про importNode не знал. Тем не менее, при импорте узлы не "конвертируются". И узел <a> не становится инстансом HTMLAnchorElement.
<!DOCTYPE html>
<body>
    <div></div>
    <script>
        var text = '<root><a href="//google.com">Google</a></root>';
        if (typeof DOMParser !== 'undefined') {
            parser = new DOMParser();
            xmlDoc = parser.parseFromString(text, "application/xml");
        } else {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = false;
            xmlDoc.loadXML(text);
        }
 
        var xmlNode = xmlDoc.documentElement.firstChild,
            htmlNode = document.body.children[0];
 
        try {
            htmlNode.appendChild(document.importNode(xmlNode, true));
        } catch (e) {
            alert(e.message);
        }
    </script>
</body>

Сообщение от tenshi
зачем html пихать в сидату?
Если так ведь все html-теги в xml-документе не являются html-узлами. Так зачем тогда парсить в dom эти узлы? Чтобы тут же их сериализовать чтобы затем распарсить как html ? Это же тупо. CDATA позволит избежать лишние шаги. Или я чего-то не знаю?

Последний раз редактировалось danik.js, 17.03.2013 в 11:22.
Ответить с цитированием