window.onload和$(document).ready()是有一定的区别的.
window.onload是在网页中所有的元素(包括元素中所关联的文件)完全加载到浏览器后才回去执行,这时JS才可以访问网页中的任何元素.
$(document).ready()是在DOM加载完成后就能进行事件的执行.
比如一个网页上有很多图片加载.每个图片有onclick事件.如果用onload来添加事件,那么必须等到图片全部加载完毕后才能对图片上的onclick事件进行处理. 如果用ready()来添加事件,那么只需要DOM加载完毕后就能进行事件的处理.所以ready()处理的速度比onload要快很多,只是图片在网页中没加载完成而已,不影响功能.
在jquery中也有和window.onload一样的方法,就是load()方法.
$(window).load() ---网页中所有的元素(包括关联的对象)都加载完后执行事件.
$(window).load( function(){ . . . } ) 和 window.onload = function(){...} 作用完全一样.
如果想要等某个元素加载完毕后就加载事件,那么
$("#id").load( function(){...} );
eg:
window.onload = function(){
var aaa = document.getElementsByTagName("a");
var i;
for(var i=0;i<aaa.length;i++){
aaa[i].onclick = function(){alert(i);}; 如果有3个a标签,最后每个a标签alert出来的是都是3.
}
alert(i); //也是3
}