Этот вопрос уже имеет ответ здесь:
Я использовал документ. GetElementById succesfully, но с некоторого времени на я не могу заставить его работать снова. Старые страницы, на которых я использовал его все еще, работают, но вещи, настолько простые:
no title
Дают мне "document.getElementById ("parsedOutput"), является пустым" все время теперь. Не имеет значения, если я использую Firefox или Chrome или какие расширения я включил или какие заголовки я использую для HTML, это является всегда пустым, и я не могу найти то, что могло быть неправильным.
Спасибо за Ваш вход =)
<script type="text/javascript">
window.onload += function() {
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
}
</script>
Используйте + =
, чтобы назначить дополнительные eventHandler
для события загрузки документа.
Попробуйте следующее:
<script type="text/javascript">
window.onload = function() {
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
}
</script>
Браузер выполнит этот сценарий, как только найдет его. В этот момент остальная часть документа еще не загружена - еще нет элемента с этим идентификатором. Если вы запустите этот код после , эта часть документа загружена, он будет работать нормально.
Время.
Документ не готов, когда вы получаете элемент.
Вы должны дождаться готовности документа , прежде чем извлекать элемент.
Страница отображается сверху вниз. Ваш код выполняется сразу после его анализа. На момент выполнения div еще не существует. Вам нужно обернуть его функцией window.onload.
Без window.onload ваш сценарий никогда не вызывается. Javascript - это язык, основанный на событиях, поэтому без явного события, такого как onload, onclick, onmouseover, скрипты не запускаются.
<script type="text/javascript">
window.onload = function(){
document.getElementById("ThisWillBeNull").innerHTML = "Why is this null?";
}
</script>
Событие загрузки:
Событие загрузки возникает в конце процесса загрузки документа. На этом этапе все объекты в документе находятся в модели DOM, а все изображения и субкадры завершили загрузку.