Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   не понимаю cloneNode (https://javascript.ru/forum/misc/3189-ne-ponimayu-clonenode.html)

danik.js 18.03.2013 05:06

Цитата:

Сообщение от Caminante
<br></br><br></br>

У br тоже должен быть корректный namespace

Caminante 18.03.2013 08:31

Переносы получаются там, где ссылка. Я создаю элемент р, в него добавляю из хмл что-нибудь вроде "текст текст <a> ссылка</а> текст", и ссылка переносится на новую строку. И текст после нее тоже.

danik.js 18.03.2013 08:53

Тоесть вставляются теги <br> ? Или у вас у элемента выставлено white-space: pre-wrap?

Caminante 18.03.2013 10:28

Нет, теги не вставляются (те, что были в примере выше, присутствовали в самом xml). White-space не задан...

danik.js 18.03.2013 11:51

Ну, так в чем же тогда проблема?

Caminante 18.03.2013 11:59

Вот в таком отображении:




Код внутри xml-ноды такой:

<p>Если вы хотите приобрети,
приходите в любой <a href=
"">офис</a> или <a href=
"">салоны наших
дилеров</a>.<br />
<br />
Не забудьте, что для совершения покупки нового номера при себе
необходимо иметь паспорт и второй документ на выбор.</p>

danik.js 18.03.2013 12:22

Нет никаких переносов.
<!DOCTYPE html>
<body>
    <div></div>
    <script>
        var text = '<root><p xmlns="http://www.w3.org/1999/xhtml">Если вы хотите приобрети, приходите в любой <a xmlns="http://www.w3.org/1999/xhtml" href= "">офис</a> или <a xmlns="http://www.w3.org/1999/xhtml" href= "">салоны наших дилеров</a>.<br xmlns="http://www.w3.org/1999/xhtml" /> <br xmlns="http://www.w3.org/1999/xhtml" /> Не забудьте, что для совершения покупки нового номера при себе необходимо иметь паспорт и второй документ на выбор.</p></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>

Caminante 18.03.2013 12:47

У меня был приступ острого тупизма:( Проблема оказалась в стилях для ссылок внутри блока, в который они вставлялись... Теперь все нормально.

danik.js, спасибо за терпение:)


Часовой пояс GMT +3, время: 01:47.