再使用 $(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())。