Объясните, пожалуйста, разницу описанных внутри примеров
HTML код:
<html> <head> <script type="text/javascript" src="temp.js"></script> </head> <body> <img src='img2/epicaSmall.jpg'> </body> </html> temp.js:
var f1 = function()
{
var f = document.getElementsByTagName("img")[0];
alert(f.src);
}
f1();
Не выводит ничего. (f is undefined) Но если поменять на:
var f1 = function()
{
var f = document.getElementsByTagName("img")[0];
alert(f.src);
}
setTimeout('f1()', 0);
,то работает. Связано ли это с тем, что <img> парсируется позднее загрузки скрипта или я в чем-то ошибаюсь, а если нет, то как решается эта проблема? Заранее благодарен. |
Всё верно,скрипт загружается раньше, чем появляется само понятие картинки. Решается выполнением нужных функция по onload документа, по onload картинки, или же простым помещением скрипта ниже нужного элемента.
|
| Часовой пояс GMT +3, время: 04:24. |