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