$(document).ready()是个什么函数?为什么要用它
(1)问题分析
面试官主要是想考察考察学生ready()函数是什么什么时候执行和window.onload有什么区别
(2)核心问题讲解
解析:考察学生对当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。
使用语法:
语法1
$(document).ready(function)
语法2
$().ready(function)
(3)问题扩展
它和window.onload有什么区别?
1)执行时间上的区别:window.onload必须等到页面内(包括图片的)所有元素加载到浏览器中后才能执行。而$(document).ready(function(){})是DOM结构加载完毕后就会执行。
2)编写个数不同:window.onload不能同时写多个,如果有多个window.onload,则只有最后一个会执行,它会把前面的都覆盖掉。$(document).ready(function(){})则不同,它可以编写多个,并且每一个都会执行。
由于在$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完,例如与图片有关的HTML下载完毕,并且已经解析为DOM树了,但很有可能图片还未加载完毕,所以例如图片的高度和宽度这样的属性此时不一定有效。
要解决这个问题,可以使用JQuery中另一个关于页面加载的方法---load()方法。load()方法会在元素的onload事件中绑定一个处理函数。如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。如:$(window).load(function(){})=====window.onload = function(){}...
(4)结合项目中使用
外链js的时候现在js中写一个$(function() {}) or $(document).ready(),让这个函数来执行操作dom的函数