一.节点操作
1.什么是DOM 节点?
- DOM树里每一个内容都称之为节点
DOM节点的分类?
-
元素节点 比如 div标签
-
属性节点 比如 class属性
-
文本节点 比如标签里面的文字
我们重点记住那个节点?
-
元素节点
-
可以更好的让我们理清标签元素之间的关系
2.查找节点
(1).查找父节点: 子元素.parentNode
(2).查找子节点: 父元素.children
注意:返回的是伪数组
特殊点: 不能使用forEach遍历
childNodes 是查找所有子节点(包括文本节点(空格、换行)、注释节点 )所有不常用。了解即可
(3).查找兄弟节点
上一个兄弟元素:元素.previousElementSibling
下一个兄弟元素:元素.nextElementSibling
3.增加节点(先创建,再追加)
(1).创建新节点:let result = document.createElement(标签名称)
创建元素之后,还需要对元素设置内容和样式:
i.内容设置:innerText innerHTML
ii.属性设置: 元素.属性
(2).追加节点
i.父元素 . appendChild(要插入的元素):将要插入的元素添加到父元素里面去(最后面)
ii.父元素 . insertBofore(要插入的元素, 在哪个元素面前插入):
- 如果指定元素获取不到, 会默认以appendChild形式添加(因为没有元素,所以前插后插都一样,都是第一个,但第二个就是在后面了,并不是永远插到第一个)
- 父元素.insertBefore(要插入的元素, 父元素.children[0]),永远插入在第一个
注意:i.一定要传递第二个参数,否则报错,可以填null
ii.追加的节点可以是新创建的 也可以是页面上已经存在 (移动)
(3).克隆节点:模板元素.cloneNode(布尔值)
- false: 浅拷贝 只拷贝元素结构(默认值)
- true: 深拷贝 拷贝元素结构及内容
4.删除节点
i.父元素.removeChild(要删除的子元素):通过父元素删除直接子元素(不能删孙子)
ii.元素.remove():删除元素本身
二.时间对象(单位是毫秒)
1.获取当前时间的时间戳:let now = Date.now()
2.使用getTime(),获取自定义时间的时间戳
let date = new Date('2022-1-20 20:00:00')
console.log(date.getTime())
3.获取时间戳简写:+new Date('2022-1-20 20:00:00')
4.获取当前时间到指定时间的时间差(倒计时),parseInt(两者相减/1000) 除以1000得到秒数
5.获取日期对象
- getFullYear():获取四位数年份
- getMonth() + 1:获取月份,取值为0~11,所以要加+1
- getDate():获取月份中的每一天,不同月份取值也不相同
- getDay():获取星期几,取值为0~6(星期天为0) let week = date.getDay() == 0 ? 7 : date.getDay()
- getHours():获取小时,取值为0~23
- getMinutes():获取分钟,取值为0~59
- getSeconds():获取秒,取值为0~59
6.转换公式
- d = parseInt(总秒数/ 60/60 /24); // 计算天数
- h = parseInt(总秒数/ 60/60 %24) // 计算小时
- m = parseInt(总秒数 /60 %60 ); // 计算分数
- s = parseInt(总秒数%60); // 计算当前秒数