Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.04.2010, 19:37
Новичок на форуме
Отправить личное сообщение для Fyntik Посмотреть профиль Найти все сообщения от Fyntik
 
Регистрация: 02.04.2010
Сообщений: 1

Объясните, пожалуйста, разницу описанных внутри примеров
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> парсируется позднее загрузки скрипта или я в чем-то ошибаюсь, а если нет, то как решается эта проблема?

Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 02.04.2010, 21:09
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

Всё верно,скрипт загружается раньше, чем появляется само понятие картинки. Решается выполнением нужных функция по onload документа, по onload картинки, или же простым помещением скрипта ниже нужного элемента.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
объясните пожалуйста строчку в коде javascript Armen Общие вопросы Javascript 1 28.06.2009 18:34
Объясните пожалуйста значение символов после переменной Анатолий Общие вопросы Javascript 1 09.01.2009 03:50