Почему источник HTML не меняется при динамическом обновлении DOM - PullRequest
5 голосов
/ 08 марта 2010

Ранее я опубликовал один вопрос Несоответствие jQuery при настройке атрибута readonly в IE-8 и FF-3.5.8 и был вполне доволен ответом.

Но я заметил, что если вы обновляете (какие-либо ??) элементы DOM динамически, а затем просматриваете исходный код (используя исходный вид браузера), я обнаружил, что обновленный атрибут элемента DOM сохраняет свое старое значение (до обновления). Однако, если вы используете панель инструментов Firebug / IE Developer, она отображает обновленный DOM

Пример: http://gutfullofbeer.net/readonly.html

FF3.5-View page Источник:

<html>
  <head>
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js' type='text/javascript'></script>
    <script>
      $(function() {
        $('input.readonly').attr('readonly', true);//set input with CSS class readonly to readonly
      });
    </script>
  </head>
  <body>
    <input type='text' class='readonly' maxlength='20' value='Blort'>This one is read-only<br>
    <input type='text' maxlength='20' value='Fish'>This one is not read-only<br>

  </body>
</html>

Здесь первое текстовое поле установлено только для чтения в методе jQuery document.ready. Просмотр источника в браузере даст разметку вроде

<input type='text' class='readonly' maxlength='20' value='Blort'>

и Firebug выдаст что-то вроде

<input type="text" value="Blort" maxlength="20" class="readonly" readonly=""> 

Панель инструментов разработчика IE8:

<input class="readonly" type="text" maxLength="20" readOnly="readonly" value="Blort"/>

Так что я предполагаю, что браузер (IE8 / FF3.5) генерирует источник html намного раньше, чем запускаются события DOM (в моем случае это document.ready()) * jQuery

Может кто-нибудь сказать мне, что происходит за сценой?

Ответы [ 2 ]

15 голосов
/ 08 марта 2010

Источник просмотра - это источник, загруженный в браузер. То, что происходит в памяти, не обновляется в источнике.

3 голосов
/ 08 марта 2010

Некоторые браузеры имеют инспекторов DOM, например, Safari 4.0 имеет отличный браузер DOM, который помогает вам динамически просматривать сгенерированные элементы и их стили CSS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...