Javascript window.load和document.ready中的jQuery data()是否未定义?

Javascript window.load和document.ready中的jQuery data()是否未定义?,javascript,jquery,dom,javascript-events,Javascript,Jquery,Dom,Javascript Events,需要在窗口中存储一些数据。加载并在文档中检索。就绪: <script> $(window).load(function() { // Store here $('img.storable').each(function() { $(this).data("key", "value"); console.log($(this).data("key")); // Output: value }; }; $(d

需要在
窗口中存储一些数据。加载
并在
文档中检索。就绪

<script>
   $(window).load(function() { // Store here
      $('img.storable').each(function() {
         $(this).data("key", "value");
         console.log($(this).data("key")); // Output: value
      };
   };

   $(document).ready(function() { // Retrieve here
      $('img.storable').each(function() {
         console.log($(this).data("key")); // Output: undefined!
      };
   };
</script>

$(窗口).load(函数(){//存储在此处
$('img.storable')。每个(函数(){
$(此)。数据(“键”、“值”);
console.log($(this.data(“key”));//输出:值
};
};
$(文档).ready(函数(){//在此处检索
$('img.storable')。每个(函数(){
console.log($(this.data(“key”));//输出:未定义!
};
};

document.ready
中的输出未定义。我是否缺少一些关于dom事件的信息?

$(文档)。ready()
在加载dom后立即运行,但是
$(窗口)。load()
将在加载dom和加载所有dom资源(如图像和CSS文件等)之前不会运行。这意味着
$(文档).ready()
将在设置值之前运行。

我认为文档就绪发生在window.load之前。。。 所以应该正好相反

只需做一个简单的测试:

$(document).ready(function() {
   alert('document ready');
});
$(window).load(function() {
   alert('window load');
});