Скрытое поле ввода отсутствует в DOM? - PullRequest
0 голосов
/ 09 июня 2011

У меня проблема смущающего скрытого поля, не являющегося частью DOM; по крайней мере, я не могу найти его с помощью JavaScript. Поле имеет атрибуты "id" и "name", оно находится в форме, имеет значение и может быть видно при просмотре источника просмотра в браузере. Итак, я прикрепляю обработчик кликов к кнопке, которая ищет скрытое поле, используя либо document.getElementById, либо используя селекторы jquery (любая комбинация селекторов, по Id, по имени класса и т. Д.), И это не является частью DOM. Как это возможно или вообще возможно? Что может быть причиной, если это?

Edit: Разметка огромная, поэтому я не хотел вставлять ее сюда. Мой вопрос был в основном, возможно ли, чтобы скрытое поле отсутствовало в DOM. Почему люди голосуют против этого? Это не правильный вопрос?

Ответы [ 2 ]

0 голосов
/ 09 июня 2011

Это возможно, если ваш javascript-код работает как есть, то есть не внутри события DOM ready, а как в обычном потоке документа.Если ваш код javascript находится над html, который объявляет это скрытое поле, тогда браузер выполнит javascript до того, как получит возможность создать элемент.Вы можете видеть это в исходном виде, потому что к тому времени браузер отрендерил все.

Таким образом, мое слепое предположение состоит в том, что ваш js-код находится в NOT внутри события DOM ready.Я вполне могу ошибаться.Пожалуйста, опубликуйте наименьшую возможную HTML-разметку и CSS и Javascript, которые будут воспроизводить эту проблему.Вы можете использовать jsfiddle.net , чтобы поделиться с нами кодом ...

0 голосов
/ 09 июня 2011

Возможно, поле было удалено, источник просмотра браузера не заботится об изменениях DOM (это просто ответ, который он получает от сервера).
Используйте, например, firebugs HTML-tab для проверки текущего DOM.

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