什么是DOM
文档对象模型简称DOM,是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过这些DOM接口可以改变网页的内容、结构和样式
DOM树
文档:一个页面就是一个文档,DOM中使用document表示
元素:页面中的所有标签都是元素,DOM中使用element表示
节点:网页中的所有内容都是节点(标签、属性、文本、注释等),DOM中使用node表示
注意:DOM把以上内容都看作是对象,也就意味着,上面的内容都有属性和方法
DOM的用法
获取元素
根据ID获取
使用getElementById(字符串)
1 | <div id="time">2021-1-14</div> |
根据标签名获取
使用getElentmentByTagName方法返回带有指定标签名的对象的集合,以伪数组的形式存储。这就说明我们访问它只需通过索引,如果是访问全部,则通过遍历访问。注意:如果没有这个元素,返回的是空的伪数组
1 | <div>2021-1-14</div> |
还可以获取某个元素(父元素)内部所有指定标签名的子元素。找出下面第一个ol标签的li标签
1 | <ul> |
注意:父元素必须是单个对象(必须指明是哪一个元素对象)获取的时候不包括父元素自己
通过html5新增的方法获取
getElementByClassName
根据类名返回元素对象集合
1 | <div class="box">盒子1</div> |
querySelector
根据指定选择器返回第一个元素对象
1 | var boxs = document.getElementsByClassName('box') |
querySelectorAll
返回指定选择器的所有元素对象集合
特殊元素获取
获取body元素
1 | body=document.body |
获取html元素
1 | html=document.documentElement |
事件
事件简单理解是触发——响应机制,网页中的每个元素都可以产生某些可以出发javascript的事件。例如:我们可以在用户点击某按钮时产生一个事件,然后去执行某些操作。
事件由三部分组成:事件源、事件类型、事件处理程序。
事件源:事件被触发的对象
事件类型:如何触发。比如鼠标点击or鼠标经过or键盘输入
事件处理程序:通过函数赋值
1 | <button id="btn">唐伯虎</button> |
常见的鼠标事件
改变元素内容
innerText
1 | //需要添加事件 |
1 | //不需要添加事件 |
innerHTML
innerHTML也能完成innerText的功能。那他们有什么区别呢?innerText从起始位置到终止位置的内容,去除html标签,空格和换行去掉。而innerHTML也是从起始位置到终止位置的内容,包括html标签,同时包含空格和换行
1 | <div>123456</div> |
获取元素里面的内容
1 | <div>123456</div> |
常用元素的属性操作
src
1 | <button id='dy'>风景1</button> |
value
1 | <button>按钮</button> |
type
大小、颜色、位置等元素
1 | <style> |
获得焦点
1 | <body> |