在编写js的时候,习惯性的将script放在head中,就经常导致出现使用body中的id报错(xxx is not defined),后来发现window.onload可以解决这个问题。

这里是编写随机十六进制的颜色为例子。

    <script>var color = '0123456789abcdef'var Sj = ''function co() {for (i = 0; i < 6; i++) {var j = parseInt(Math.random() * 17 - 1);Sj = Sj + color[j];}}co();a1.style.background = '#' + Sj;</script>

因为a1是div在body中的id名字,此script在head中,就导致了最后一行代码a1.style.background = '#' + Sj;无法正常运行,会报错a1 is not defined。

尝试修改为以下代码即可正常使用。

        window.onload = function () {a1.style.background = '#' + Sj;}

查阅资料发现,此问题是页面按照顺序加载,先加载了script,然后再加载了带有id的标签,导致了script无法找到正确的id。window.onload可以让页面加载完毕后再执行里面的代码块。

window.onload用法相关推荐

  1. window.onload用法详解

    网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式: 一.将脚本代码放在网页的底端,这样在运行脚本代 ...

  2. 汉游天下掼蛋源码window.onload用法技巧

     汉游天下掼蛋源码里原文中有这么一段话,描述的有点抽象: JavaScript引擎在执行onmousedown时,由于没有多线程的同步执行,不可能同时去处理刚创建元素的focus 和select方 ...

  3. jquery (js中window.onload与jquery中$(document.ready())的区别)

    jquery 学习之一(js中window.onload与jquery中$(document.ready())的区别) 耳听为虚,眼见为实.通过下面的实例可查看两者的异同(注意:aa.jpg最好是一张 ...

  4. window.onload的用法

    window.onload: 页面加载完成 一,window.onload的用法: 因为页面中的代码一般情况下按照,从上到下,从左到右的顺序执行. 所以当js代码需要获取页面中的元素时,如果scrip ...

  5. Javascrapy的window onload()函数用法

    window.onload()通常用于<body>元素,在页面完全加载后(包括图片,css文件等等)执行脚本代码. 详情:https://www.runoob.com/w3cnote/ja ...

  6. window.onload匿名函数中element.onclick正确用法

    先看下面有问题的代码: <!DOCTYPE html> <html lang="en"> <head><meta charset=&quo ...

  7. JavaScript中window.open用法实例详解

    本文较为详细的分析了JavaScript中window.open用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <script LANGUAGE="javascript& ...

  8. 实现map window.onload加载

    之前一直是写C/S的,最近转做B/S了,记录一下自己在工作和学习中的JS小技巧,方便自己今后复习和查阅. JS中默认只带array,有时候会需要key-value的map类功能,虽然array也支持a ...

  9. window.onload,body onload=function(), document.onreadystatechange, httpRequest.onreadystatechang

    部分内容参考:http://www.aspbc.com/tech/showtech.asp?id=1256 在开发的过程中,经常使用window.onload和body onload两种,很少使用do ...

最新文章

  1. Go 学习笔记(71)— Go 接口 interface (接口定义、接口实现、接口调用、值接收者、指针接收者)
  2. RegExp 正则
  3. 人脸对齐--Face Alignment by Explicit Shape Regression
  4. java线程太多卡顿_性能优化之卡顿延迟
  5. SAP 电商云 Spartacus UI Checkout 页面的三个 page guards
  6. LG P4198 楼房重建(线段树)
  7. Video 对象方法 canPlayType()
  8. dubbo连接线上服务,没有配置好引发的错误
  9. 多线程—— Lock(线程锁)
  10. glob-parent Regular expression denial ofservice
  11. Java Session 会话技术
  12. 怎样回答面试题更好?以及注意事项
  13. java多属性的map_java集合(四)Map集合之Properties详解
  14. python javascript区别_Python,Java和JavaScript这3个编程语言未来哪个更有前景?
  15. 【Jupyter常用快捷键】
  16. 与领导喝酒的18个应紧记的诀窍
  17. 怎么写好一封EDM的主题?
  18. www.chinaz.com 站长之家
  19. UVAlive 4394
  20. 一个好用的 JSON 编辑器 JsonEditor V1.03.2

热门文章

  1. DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录
  2. 功能测试是什么?性能测试是什么?两者有什么区别?
  3. xray 被动_google搜索爬取xray被动扫描
  4. ICCV 2021 口罩人物身份鉴别全球挑战赛冠军方案分享
  5. SpringMVC Web实现文件上传下载功能实例解析
  6. vue工程,高德地图信息窗体模块化插入,及信息窗口点击事件
  7. 树莓派pxe网络启动官方文档(译文)
  8. 在数字乳腺X照片中基于小波分析和统计分析的微钙化检测新特征
  9. 超爽的对战游戏3.0版本来了 非常有趣
  10. 常用存储芯片-笔记本上固态硬盘PTS11系列推荐