在文档加载后加载单个变量

时间:2011-06-24 04:13:08

标签: jquery load lazy-loading onload document-ready

我希望有人可以帮助我。我在加载这个变量时遇到了麻烦。现在我有一个文件准备好时显示的图像。它有一个id。所以我试图捕获该id并提醒它,但是当我尝试使用.attr()时,它给了我未定义的变量。但是,当我执行完全相同的脚本时,在另一个窗口加载下,第一个警报给我未定义,第二个警告给我正确的id。

我的剧本:

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);
});

这两个功能放在同一页面内。因此,当第一个警报弹出时,它会给页面加载时间,然后弹出第二个警报,捕获图像ID。

所以我想在页面加载后我试图获取id?有人可以帮我解决这个问题吗?谢谢

3 个答案:

答案 0 :(得分:1)

要完成我想要完成的任务,我只需要设置时间间隔。

答案 1 :(得分:0)

即使没有window.onload存在,document.ready也应该可以工作。顺便说一下,你可以使用jQuery的$()缩写来完成document.ready:

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

答案 2 :(得分:0)

$(document).ready应该足够了,因为一旦加载了DOM,函数就会启动。你说这对你有用,所以我看不出问题所在。您可以删除window.onload并使用$(document).ready。

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