再使用 $(function(){})的时候,发现一直取不到元素。但是换成window.onload()则可以取到。
大概推测是页面加载问题,于是把js从header移到了footer,发现 $(function(){})也可以取到值了。
要说明的是这个元素是由与另一个js生成的。
查找两个方法的说明如下:
(1)window.onload():
onload 属性在对象已加载时触发。
onload 常用在 <body> 中,一旦完全加载所有内容(包括图像、脚本文件、CSS 文件等),就执行一段脚本。
(2)$(function(){}):
当 DOM(文档对象模型) 已经加载,并且页面(包括图像)已经完全呈现时,会发生 ready 事件。
所以, 多资源时,推荐使用$(function(){})。但是一些特殊应用必须等待所有元素加载完时,则使用window.onload(),当然可以用$(window).load()代替(推荐使用),
效果一样,且可以写多个,会按照顺序执行,可以使代码按内容分离,结构更清晰(与之对应的是:unload())。
时间: 2025-01-04 11:21:49