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 相关文章推荐
js日历功能对象
Jan 12 Javascript
javascript 文本框水印/占位符(watermark/placeholder)实现方法
Jan 15 Javascript
JS+CSS 制作的超级简单的下拉菜单附图
Nov 22 Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 Javascript
详解vue-router 2.0 常用基础知识点之router.push()
May 10 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
使用Vue构建可重用的分页组件
Mar 26 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
Apr 17 Javascript
vue 基于element-ui 分页组件封装的实例代码
Dec 10 Javascript
vue路由插件之vue-route
Jun 13 Javascript
JS实现图片幻灯片效果代码实例
May 21 Javascript
vue2.0 watch里面的 deep和immediate用法说明
Oct 30 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
php 接口类与抽象类的实际作用
2009/11/26 PHP
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
vue element-ui table表格滚动加载方法
2018/03/02 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
JS异步宏队列微队列原理详解
2020/09/09 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
python中requests模块的使用方法
2015/04/08 Python
Windows下安装Scrapy
2018/10/17 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python求前n个阶乘的和实例
2020/04/02 Python
python线程里哪种模块比较适合
2020/08/02 Python
纯css3实现思维导图样式示例
2018/11/01 HTML / CSS
计算机专业学生求职信分享
2013/12/15 职场文书
家长会学生家长演讲稿
2013/12/29 职场文书
党课培训主持词
2014/04/01 职场文书
公安交警个人对照检查材料思想汇报
2014/10/01 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
简爱读书笔记
2015/06/26 职场文书
2016猴年春节问候语
2015/11/11 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书