После нескольких часов отладки мне кажется, что в FireFox innerHTML DOM отражает то, что на самом деле находится в разметке, но в IE innerHTML отражает то, что находится в разметке, ПЛЮС любые изменения, сделанные пользователем или динамически (т.е. через Javascript ).
Кто-нибудь еще нашел это правдой? Какие-нибудь интересные обходные пути, чтобы убедиться, что оба ведут себя одинаково?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я использую jQuery .html (), чтобы получить согласованный результат во всех браузерах.
Я согласен с Пат. На данном этапе игры написание собственного кода для обеспечения кроссбраузерной совместимости с учетом доступных фреймворков Javascript не имеет большого смысла. Существует фреймворк практически на любой вкус (некоторые действительно совсем крошечные), и они сосредоточились на том, чтобы действительно абстрагироваться от всех различий между браузерами. Они проводят НАМНОГО больше тестов, чем вы, вероятно, сделаете.
Что-то вроде jQuery или Yahoo YUI (подумайте, сколько людей используют Yahoo Javascript за день и разнообразие браузеров) намного более проверено на практике, чем любой фрагмент, который вы или я придумали.
Использование прототипа и синтаксиса $ ("thisid") вместо document.getElementById ("thisid") может помочь вам. У меня это сработало.
использование хорошей библиотеки - отличный способ обойти несоответствия браузера, и jquery - это тот, который я обычно рекомендую, и если у вас возникают проблемы с изменением элементов в форме, в частности, jquery может похвастаться несколькими действительно полезными плагинами, специально ориентированными на о манипуляциях с формами и оценке.
Проблема в том, что jQuery.html () действительно ли нет дает согласованные результаты. Цитата из соответствующей части документации jQuery: «Этот метод использует свойство браузера innerHTML. Некоторые браузеры могут не возвращать HTML, который точно копирует исходный HTML-код в исходном документе. Например, Internet Explorer иногда опускает кавычки вокруг значений атрибутов, если они содержат только буквенно-цифровые символы ".