日期对象
实例化日期对象
日期对象:用于表示时间
作用:作为系统时间
在代码中使用new关键字的就是实例化
const data = new Date() //获得当前时间
const data = new Date('指定时间') //得到指定时间
日期对象方法
日期对象所返回的值并不能直接使用,所以要对其进行转化格式
date.toLocaleString() //得到当前年月日和当前时间
date.toLocaleDateString() //得到年月日
date.toLocaleTimeString() //得到当前时间
时间戳
使用场景:如果计算倒计效果,就可以用到时间戳
时间戳:指的是1970年01月01日00时00分00秒气质现在的毫秒数,它是一种特殊的计量单位
算法:
将来的时间 -现在的时间 = 剩余的时间 (毫秒)
将剩余时间转为时间的年月日 时分秒就是倒时效果了
获得时间戳的三种方法:
1.使用getTime()方法
2.简写+new Date()
3.使用Date.now() //不需要实例化
<script>
const date = new Date()
console.log(date.getTime())
console.log(+new Date())
//第二,三方法不需要实例化
console.log(Date.now()) //只能获得当前时间戳
</script>
节点操作
DOM节点
DOM节点:DOM树里的每一个内容都被称之为节点
节点类型:
元素节点:所有的标签比如body,div
根节点:div
属性节点:所有的属性比如href
文本节点:所有的文本
其他
查找节点
父节点:parentNode 属性 获得最近的父节点 可以复用
<div class="grandfther">
<div class="dad">
<div class="son">x</div>
</div>
</div>
<script>
const son = document.querySelector('.son')
console.log(son.parentNode)
console.log(son.parentNode.parentNode)
</script>
子节点:childNode 获得所有的子节点,包括文本节点(空格,换行),注释节点等
children 属性 仅获得所有元素节点,返回一个伪数组
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script>
const ul = document.querySelector('ul')
console.log(ul.children)
</script>
兄弟节点: nextElementSibling 下个兄弟节点
previousElementSibling 上个兄弟节点
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
<script>
const li = document.querySelector('li:nth-child(2)')
console.log(li.nextElementSibling)
console.log(li.previousElementSibling)
增加节点
创建节点
创建节点:即创造出一个新的网页元素,再添加到网页内,一般先创建节点,然后插入节点
创建节点的方法:
document.createElement('标签名')
追加节点
插入父元素的最后面:
父元素.appendChild(要插入的元素)
插入父元素中某个元素的前面:
父元素.insertBefore(要插入的元素,在哪个元素的前面)
复制节点
特殊情况下,我们新增节点,按如下操作:
1.复制一个原有节点
2.把复制节点放到指定的元素内部
语法:
元素.cloneNode(布尔值)
布尔值为true:把后代一起复制
为false:不克隆后代节点
默认为false
删除节点
在JS原生的DOM操作中,要删除元素必须通过父元素删除
语法:
父元素.removeChild(要删除的元素)
无父子关系删除失败
删除节点和隐藏节点(display:none)有区别:隐藏节点还是存在的但是删除节点,则从HTML中删除节点
M端事件
移动端也特殊之处(触屏事件touch)
touch事件对象代表一个触摸点