目录
- DOM 树, DOM 节点, DOM 对象是什么
- 利用 DOM 对象对 DOM 节点进行增删改查操作
- 事件绑定
- 事件常见类型
- 事件对象
-
(一) Dom 树, Dom 节点和 Dom 对象
DOM 树 (见图)
- DOM 节点
DOM 对象
获取 DOM 节点 ```javascript document.getElementById(‘xxx’); //根据id来获取dom节点,xxx是id名,id是唯一的 document.querySelector(‘xxx’); // 根据选择器来获取dom节点(只能获取一个),xxx可以是任意选择器 document.querySelectorAll(); // 根据选择器来获取dom节点(获取全部),xxx可以是任意选择器
dir(xxx) 可以在控制台查看对象的属性
2. 获取 DOM 节点的属性和样式
```javascript
(1)获取属性 - 见demo
(2)获取样式 - 见demo
获取 dom 节点的内容
innerHTML 获取内容连同元素节点
innerText 只获取文本内容
2.2 添加节点
创建节点和插入节点
- 通过点击事件插入节点
2.3 删除节点
remove()2.4 修改节点(内容,样式,属性)
- 修改内容 节点.innerHTML=xxx; innerText=xxx;
- 修改样式 节点.style.xxx=xxx; // style是行内样式
- 修改属性 节点.属性名=xxx;
(三)事件绑定
3.1 普通事件绑定(DOM 一级)
- onxxx
- xxx.click
3.2 高级事件绑定(DOM 二级) addEventListener
dom一级事件绑定和dom二级事件绑定区别: 同类型事件, 前者绑定多次, 只会执行一次, 后者可以执行多次3.3 使用 js 触发事件
(四) 事件常见类型
第7节 Dom 对象和BOM对象
更多事件类型
https://www.runoob.com/jsref/dom-obj-event.html
(五) 事件对象
event 对象: 每个事件被触发时,都会产生一个event对象
target 和 currentTarget
事件流(事件的传播)
- 事件捕获阶段
- 目标阶段
- 事件冒泡阶段
- 事件冒泡应用: 事件委托(托管)
-
Bom 对象
location.href 获取浏览器地址 (window.location)
- location.href = ‘http://www.baidu.com‘ // 跳转到百度
- location.href = ‘http://www.baidu.com?username=huruqing‘
// 跳转到百度的时候,加上参数 username=huruqing - setTimeout 延迟
- setInterval 定时器和清除定时器
- navigator: userAgent 用来判断用户在使用什么设备 ```javascript <!DOCTYPE html>
正在判断用户设备……
<script>
// 判断用户使用设备
//js判断是否移动端
function fIsMobile() {
return /Android|iPhone|iPad|iPod|BlackBerry|webOS|Windows Phone|SymbianOS|IEMobile|Opera Mini/i.test(navigator.userAgent);
}
setTimeout(function() {
var res = fIsMobile();
if (res) {
location.href = './mobile.html';
} else {
location.href = './pc.html';
}
}, 3000);
</script>
7. history对象 浏览器历史对象
```javascript
history.back();
history.forward();
history.go();