Dom 是Document Object Model (文档对象模型)的缩写
文档对象模型(DOM) 是HTML和XML文档的编程接口,它提供了对文档的结构优化的表述,并定义了一种方式可以使从程序中对该结构进行访问,从而改变文档的结构/样式和内容
JavaScriptDOM操作
DOM查找方法
获取 ID
语法:document.getElementById(‘id’)
功能:返回对拥有指定ID的第一个对象的引用
返回值: DOM对象
说明:ID为DOM元素上的ID属性的值,ID 是唯一的一个页面中不能有重复的ID
1 | <div id="box"> |
获取 类
语法:document.getElementsByTagName(‘tag’)
功能:返回一个对所有tag标签引用的集合
返回值: 数组
说明:tag 要获取的标签名称
1 | <ul id="list"> |
DOM元素的样式
语法:ele.style.styleName = styleValue
功能:设置 ele 元素的CSS样式
说明:
1.ele 要设置的样式的DOM对象
2.styleName 要设置的样式名称
不能用 “ -- ” 连字符形式 如: font-seze ,需要写成驼峰命名形式: fontSize
3.styleValue 设置的样式值
1 | <div id="box"> |
inner HTML
语法:ele.innerHTML
功能:返回ele元素开始和结束标签之间的HTML
语法:ele.innerHTML = ‘html’
功能:设置ele元素开始和结束标签之间的HTML内容为HTML
1 | <ul id="list"> |
className
语法:ele.className
功能:返回ele元素 的 class 属性
语法:ele.className = ‘cls’
功能:设置ele元素 的class属性为 cls
1 | <ul id="list"> |
DOM 元素添加属性
获取属性 getAttribute
语法:ele.getAttribute(‘attribute’)
功能:返回ele元素 的 attribute属性 (获取自定义属性)
说明:
ele是要操作的dom对象
attribute是要获取HTML 属性(如:id type vule)
1 | <p id='text' align='center' date-type='title'> 文本 </p> |
设置属性 setAttribute
功能:返回ele元素 的 设置属性
说明:
ele是要操作的dom对象
attribute 要设置的属性名称
value 设置的attribute 属性的值
注:
1.setAttribute方法必须要有俩个参数
2.如果value是字符串,需加引号
3.setAttribute()有兼容性问题
1 | <p id='text' align='center' date-type='title'> 文本 </p> |
删除属性 removeAttribute
语法:ele.removeAttribute( “attribute” );
功能:删除ele上的 isRead 属性
说明: 1. ele 要操作的DOM对象 2. attribute 要删除的属性名称
1 | <p id='text' align='center' date-type='title'> 文本 </p> |
JavaScriptDOM 事件
DOM 0级 事件绑定
语法:ele.事件 = 执行脚本
功能:在 DOM对象上绑定事件
说明:执行脚本可以是一个匿名函数,也可以是一个函数的调用
1 | <div class="lock" id="btn">锁定</div> |
案例
1 | // 获取按钮 |
事件类型
onload: 页面加载时触发
1 | // 页面加载时执行 |
onclick: 鼠标点击时触发
1 | // 绑定点击的事件 |
onmouseover : 鼠标滑过时触发
1 | // 绑定移动的事件 |
onmuouseout: 鼠标离开时触发
1 | // 绑定松开的事件 |
onfocus: 获得焦点时触发
noblur:失去焦点时触发
一般作用于 input 标签 type 为,text ,password textarea 标签
1 | <input type="text" id="phone" placeholder="请输入手机号码"> |
1 | /* |
onchange: 域的内容改变时发生
html:
1 | <div class="box"> |
JS:
1 | // 获取菜单 |
onsubmit 提交事件
onsubmit 事件,不是加在按钮上,而是表单上,别称:提交按钮
onresize 窗口事件
1 | // onresize: 当调整浏览器窗口的大小时触发 |
on scroll 拖动事件
1 | //拖动滚动条滚动时触发 |
keyCode 属性与键盘事件
onkeydown: 在用户按下一个键盘按键时发生
onkeypress: 在按下键盘按键时发生(只会响应字母与数字符号)
onkeyup: 在键盘按键被松开时发生
keyCode: 返回 onkeypress ,onkeydown或 onkeyup 事件触发的键值的字符代码,或键的代码
键盘事件触发顺序:
- onkeydown
- onkeypress
- onkeyup
案例
1 | <div> |
1 | // 页面延时加载 |