загрузка одной переменной после загрузки документа - PullRequest
1 голос
/ 24 июня 2011

Я надеюсь, что кто-то может помочь мне здесь.У меня проблемы с загрузкой этой переменной.Прямо сейчас у меня есть изображение, которое отображается, когда документ готов.У него есть идентификатор.Поэтому я пытаюсь захватить этот идентификатор и предупредить его, но когда я попытался использовать .attr (), он дает мне неопределенную переменную.Тем не менее, когда я выполняю тот же сценарий при другой загрузке окна, первое предупреждение дает мне неопределенное значение, второе дает мне правильный идентификатор.

Мой сценарий:

window.onload = function() { //first onload gives undefined
   var imgID = $('.selector').attr('id');
   alert(imgID);
};

$(document).ready(function(){ //gives me correct id
   var imgID = $('.selector').attr('id');
   alert(imgID);
});

Эти двафункции размещены на той же странице.Поэтому, когда появляется первое предупреждение, оно дает странице время для загрузки, а затем появляется второе предупреждение, которое фиксирует идентификатор изображения.

Итак, я думаю, что я пытаюсь получить идентификатор после загрузки страницы?Может кто-нибудь помочь мне, как это сделать?Спасибо

Ответы [ 3 ]

1 голос
/ 02 июля 2012

Чтобы сделать то, что я хотел сделать, мне просто нужно было установить временной интервал.

0 голосов
/ 24 июня 2011

$ (document) .ready здесь должно быть достаточно, так как функция запускается после загрузки DOM. Вы говорите, что это работает для вас, поэтому я не понимаю, в чем проблема. Вы можете удалить window.onload и использовать $ (document) .ready.

http://www.learningjquery.com/2006/09/introducing-document-ready

0 голосов
/ 24 июня 2011

Document.ready должен работать даже без присутствия window.onload.Кстати, вы можете использовать сокращение jQuery $() для document.ready:

$(function() {
    var imgID = $('.selector').attr('id');
    alert(imgID);
});
...