Объясните, пожалуйста, разницу описанных внутри примеров
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, время: 17:19. |