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

Pol*_*ino 3 javascript jquery dom javascript-events

需要存储一些数据window.load并检索document.ready:

<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>
Run Code Online (Sandbox Code Playgroud)

在输出document.ready不确定的.我错过了关于dom事件的事吗?

log*_*yth 6

$(document).ready()DOM加载后立即运行,但$(window).load()在DOM加载并且所有dom资源都已加载(如图像和CSS文件和内容)之后才会运行.这意味着$(document).ready()将在您设置值之前运行.