【问题标题】:loading a single variable after document loads在文档加载后加载单个变量
【发布时间】:2011-06-24 04:13:08
【问题描述】:

我希望有人可以在这里帮助我。我无法加载此变量。现在,当文档准备好时,我有一个正在显示的图像。它有一个 id。所以我试图捕获该 id 并警告它,但是当我尝试使用 .attr() 时,它给了我未定义的变量。但是,当我执行完全相同的脚本时,在另一个窗口加载下,第一个警报给我 undefined,第二个给我正确的 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?有人可以帮助我如何做到这一点吗?谢谢

【问题讨论】:

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


    【解决方案1】:

    要做我想做的事,我只需要设置时间间隔。

    【讨论】:

      【解决方案2】:

      即使没有 window.onload,document.ready 也应该可以工作。顺便说一句,您可以使用 jQuery 的 $() 缩写来表示 document.ready:

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

      【讨论】:

      • 我正在尝试在页面加载后立即加载。如果我同时加载所有内容,我会变得不确定。这就是为什么我有一个示例,为什么我要加载两次。
      【解决方案3】:

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

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

      【讨论】:

      • 如果我没有先加载某些东西,它会变得未定义。一切都一起加载。如果我删除 window.onload,我只会得到一个未定义的警报
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      • 2015-12-30
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多