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 相关文章推荐
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
Jan 22 Javascript
用JavaScript 处理 URL 的两个函数代码
Aug 13 Javascript
checkbox 复选框不能为空
Jul 11 Javascript
JavaScript OOP面向对象介绍
Dec 02 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
Mar 03 Javascript
编写高质量JavaScript代码的基本要点
Mar 02 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
Dec 19 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
Mar 09 Javascript
laydate日历控件使用方法详解
Nov 20 Javascript
Webpack path与publicPath的区别详解
May 03 Javascript
JS正则表达式封装与使用操作示例
May 15 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
Dec 09 Javascript
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
codeigniter框架The URI you submitted has disallowed characters错误解决方法
2014/05/06 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
laravel 查询数据库获取结果实现判断是否为空
2019/10/24 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
range 标准化之获取
2011/08/28 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
AngularJS入门教程之AngularJS模型
2016/04/18 Javascript
浅谈js中子页面父页面方法 变量相互调用
2016/08/04 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
python使用marshal模块序列化实例
2014/09/25 Python
Python生成随机验证码的两种方法
2015/12/22 Python
Python探索之自定义实现线程池
2017/10/27 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
int在python中的含义以及用法
2019/06/27 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
Python selenium如何打包静态网页并下载
2020/08/12 Python
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
4s店总经理岗位职责
2013/12/31 职场文书
心得体会范文
2014/01/04 职场文书
护理个人求职信范文
2014/01/08 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
铁路安全反思材料
2014/12/24 职场文书
检讨书范文
2015/01/27 职场文书
职场新人刚入职工作总结该怎么写?
2019/05/15 职场文书
详解Python函数print用法
2021/06/18 Python
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL