Странное поведение innerHTML
Вопрос знатокам на засыпку.
Есть код: Код:
<html> |
innerHTML работает с DOM а не просто вставляет текст в документ-соответтвенно незаконченные элементы такие как <i> игнорирует
с помощью innerHTML+ не рекомендую вставлять ибо некоторые события при этом у других элементов могут пропасть |
Хорошо, а какой же выход есть в данном случае? У меня текст в printDiv составляется из нескольких независимых частей, каждая из которых не знает о содержании других. Т.е. интересует, как отформатировать текст (в данном случае var0)?
|
Цитата:
|
Нет, это парсер независимых частей. Всё работает, а с этой промблемой я уже намучался. Может во что-то оборачивать var0 и через стили устанавливать форматирование? Будет это работать?
|
Цитата:
|
DoubleDragon, а почему бы вам не воспользоваться DOM?
<html> <body> <div id='printDiv'></div> <script> var var0 = 'Test'; var i = document.createElement("i"); i.appendChild(document.createTextNode(var0)); document.getElementById("printDiv").appendChild(i); </script> </body> </html> |
Да, DOM тоже вариант. Но мой пример сильно упрощённый. Реальность гораздо сложнее.
В любом случае спасибо за идею. |
Цитата:
|
Цитата:
<div id='printDiv'></div> <script> window.onload = function () { var printDiv = document.getElementById('printDiv'); var var0 = 'Test'; printDiv.innerHTML+="<i>" + var0; alert(printDiv.innerHTML); printDiv.innerHTML+="<i>"; alert(printDiv.innerHTML); printDiv.innerHTML+=var0; alert(printDiv.innerHTML); } </script> |
Часовой пояс GMT +3, время: 01:47. |