Странное поведение 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, время: 07:31. |