У метки <h1>
нет обработчика события onload
, поэтому ваша функция никогда не вызывается.
Вы можете использовать обработчик onload
для тега <body>
или настроить другой обработчик событий для назначения вашей функции.
Если вы хотите, чтобы ваш код, который будет срабатывать при загрузке документа, вы можете использовать один из них:
window.addEventListener("load", favAnimal); // all page resources loaded
document.addEventListener("DOMContentLoaded", favAnimal); // HTML done parsing
Если вы просто хотите, чтобы ваш скрипт будет выполняться сразу же после того, как ваш <h1>
тега был загружен, вы можете просто разместить вызов скрипта сразу после тега. Страница обрабатывается/выполняется для того, чтобы любой скрипт всегда будет иметь возможность ссылаться на HTML элементы, которые идут перед ним в документе:
<h1 id="animal">Favourite Animal Placeholder</h1>
<script>favAnimal()</script>
Вот некоторые из вещей, которые я знаю, что есть load
событие:
window
<img>
<body>
<iframe>
<link>
<script>
<embed>
<object>
<video>
<audio>
XMLHttpRequest
И, почти любой другой тег HTML, который имеет src
или href
атрибут, кроме <a>
. Идея состоит в том, что если тег загружает какой-то внешний ресурс, то есть событие load
, чтобы узнать, когда будет загружен этот внешний ресурс. Если тег не загружает внешний ресурс, вероятно, для него нет события load
.
Если я не ошибаюсь 'h1' Безразлично» t имеет событие 'onload'. – joaumg
попробуйте поместить 'onload =" favAnimal() "' в тег 'body'. Вы также можете использовать 'innerText' вместо' innerHTML', поскольку вы не меняете HTML. – Quantumplate