JavaScript文档加载模式以及元素获取


Posted in Javascript onJuly 28, 2020

一、文档加载模式

1.事件三要素:事件源(触发时间的元素);事件名称(click点击事件);事件处理程序(事件出发后要执行的代码函数形式)存在问题:浏览器加载一个页面的时候,是按照自上而下的顺序加载的,若将script标签写到head内部,在代码执行时候,页面还没有加载,页面中的DOM对象也没有加载。就会导致js中无法获取页面中的DOM对象。解决方法:onload事件,会在整个页面加载完之后才触发,为window绑定一个onload事件,该事件对应的响应函数将会在页面加载完成之后执行,这样可以确保我们的代码执行时所有的DOM对象已经加载完了

<style>
 button{
 width:100px;
 height:100px;
 background-color:green;
 margin:0 auto;
 font-size:30px;
 }
 </style>

</head>
<body>
<div></div>
<button id="button">点击</button>
<script>
 window.onload = function (ev) {
 var btn = document.getElementById("button");
 btn.onclick = function (ev) {
 alert("成功了");
 }
 }
</script>
</body>

运行显示:

JavaScript文档加载模式以及元素获取

点击按钮

 JavaScript文档加载模式以及元素获取

二、文档页面元素获取

根据id、标签名、name、类名、选择器获取元素

<script>
 window.onload = function (ev) {
 var btn = document.getElementById("button");
 btn.onclick = function (ev) {
 alert("成功了");
 }
 }
 window.onload = function (ea) {
 var btn1 = document.getElementById("button")
 console.log(btn1);
 var btn2 = document.getElementsByClassName("button2");
 console.log(btn2[0]);
 var btn3 = document.getElementsByTagName("button");
 console.log(btn3[0]);
 var btn4 = document.getElementsByName("button3");
 console.log(btn4[0]);
 var btn5 = document.querySelector("#button2");
 console.log(btn5);
 var btn6 = document.querySelectorAll("#button1");
 console.log(btn6[0]);
 }
</script>

运行显示:

JavaScript文档加载模式以及元素获取

三、源码:

地址:https://github.com/ruigege66/JavaScript/blob/master/D27_1_Document.html  

博客园:https://www.cnblogs.com/ruigege0000/

CSDN:https://blog.csdn.net/weixin_44630050?t=1

三水点靠木:https://3water.com/article/191885.htm

到此这篇关于JavaScript文档加载模式以及元素获取的文章就介绍到这了,更多相关JavaScript 文档加载 元素获取内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript showModalDialog模态对话框使用说明
Dec 31 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
Jan 15 Javascript
网页防止tab键的使用快速解决方法
Nov 07 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
May 08 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
Mar 02 Javascript
在AngularJS应用中实现一些动画效果的代码
Jun 18 Javascript
vue-router:嵌套路由的使用方法
Feb 21 Javascript
vue2中引用及使用 better-scroll的方法详解
Nov 15 Javascript
Vuex持久化插件(vuex-persistedstate)解决刷新数据消失的问题
Apr 16 Javascript
JS实现简单的文字无缝上下滚动功能示例
Jun 22 Javascript
小程序实现长按保存图片的方法
Dec 31 Javascript
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
javascript实现贪吃蛇小游戏
Jul 28 #Javascript
Element DateTimePicker日期时间选择器的使用示例
Jul 27 #Javascript
Js图片点击切换轮播实现代码
Jul 27 #Javascript
在vue中实现echarts随窗体变化
Jul 27 #Javascript
Vue组件跨层级获取组件操作
Jul 27 #Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 #Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
Jul 27 #Javascript
You might like
php强制下载文件函数
2016/08/24 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
PHP判断当前使用的是什么浏览器(推荐)
2019/10/27 PHP
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
JavaScript自定义数组排序方法
2015/02/12 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
Bootstrap Multiselect 常用组件实现代码
2017/07/09 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
angular6的响应式表单的实现
2018/10/10 Javascript
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
python字符串反转的四种方法详解
2019/12/02 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
html5-canvas中使用clip抠出一个区域的示例代码
2018/05/25 HTML / CSS
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
自考毕业自我鉴定范文
2013/10/27 职场文书
优秀经理事迹材料
2014/02/01 职场文书
集体生日活动方案
2014/08/18 职场文书
股东授权委托书范文
2014/09/13 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
销售员态度差检讨书
2014/10/26 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
mysqldump进行数据备份详解
2022/07/15 MySQL