Однако, у innerHTML есть проблема в
Internet Explorer.
Стандарт HTML требует
преобразование на показе контента.
Все виды и количества смежных
пробелы свернуты в единый
пробел. Это хорошо - так же, как
Например, это позволяет мне добавить много
разрывов строк в этом исходном файле
не беспокоясь о странных
разрывы строк в отображаемом тексте.
Internet Explorer применяет эти
преобразования при назначении на
свойство innerHTML. Это похоже на
хорошая идея: это экономит немного времени
во время отображения, потому что если
представление в памяти уже
нормализуется, то браузер не
должны нормализовать всякий раз, когда это необходимо
отобразить текст.
Есть исключения из
Правило нормализации, хотя. Следует отметить, что
это
$("#div pre").text()
или просто:
<style type="text/css">
#div { white-space: pre }
</style>
все это волшебным образом работает.