本文最后更新于 2024-02-15 10:28:20
API
1.变量的定义
能用 const
就用
Q:怎么考虑能不能用?
A:复杂数据可以用const ,原理???不建议看
2.DOM(文档对象模型)
是什么:用来呈现以及任意 HTML 或 XML 文档交互的API
作用:开发网页内容实现用户交互
1.DOM 树
是:将文档以树状结构直观的表现出来的,又称文档树;是描述网页内容关系的名词
作用:直观体现了标签与标签之间的关系
2.DOM对象
是:浏览器根据 html 标签生成的 JS对象
- 所有的标签属性都可以在这个对象上找到
- 修改这个对象的属性会自动映射到标签的身上
document 对象:
- 他所提供的属性和方法都是用来访问和操作网页内容的
- 网页所有的内容都在 document 中
- 是 DOM 里提供的一个对象
1 2 3 4 5 6 7 8 9 10 11
| const nav=document.querySelector('css选择器')
<div>123</div> <div>456</div> const nav=document.querySelector('div')
|
获取的样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <ul> <li>1</li> <li>2</li> <li>3</li> </ul>
const l=document.querySelector('ul li:first-child')
const l=document.querySelectorAll('ul li')
|
3.修改对象内容
1 2 3 4 5 6
| 1. 对象名.innerText='修改内容'
2. 对象名.innerHTML='修改内容'
|
4.删除数组的元素
5.操作元素的属性
(1)常用属性
(2)元素的样式属性
1 2 3 4 5 6 7 8 9 10 11
| 对象名.style.样式属性 = 值
<script> const box=document.querySelector('div')
box.style.width='400px' box.style.backgroundColor='red' console.log(box) box.style.border='2px solid green' </script>
|
特例:
因为 body 是唯一的标签,所以改标签不用获取,直接修改即可
1
| document.body.style.样式属性 = 值
|
(3)操作类名
1 2 3 4 5 6
| 元素.className = '类名1...'
box.className = 'avtive' box.className = 'opa active'
|
为了解决 className
容易覆盖类名的问题,衍生出了 classList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> .opa{ width: 200px;height: 200px; background-color: black; } .active{ color: red; background-color: skyblue; } </style> </head> <body> <div class="opa"> 文字颜色 </div>
<script> const box=document.querySelector('.opa') box.classList.add('active') box.classList.remove('opa') box.classList.toggle('opa')
</script> </body> </html>
|
6.setInterval ( 函数,间隔时间 )
默认时间单位 ms
函数不能写成调用的格式,比如:有名函数 fn() ,写的时候不能加 后面的小括号,立即执行函数也是,不能加后面的小括号,除非用引号的情况
1 2 3 4
| let n=setInterval('fn()',1000)
clearInterval(n)
|
7.事件监听
事件:在编程是系统内发生的动作或发生的事情
比如:在网页上点击一个按钮
让程序检测是否有事件发生,一旦有事件触发,就立即调用一个函数做出响应,也称 绑定事件 或 注册事件
比如:点击可以播放轮播图
1
| 元素对象.addEventListener('事件类型',要执行的函数)
|
三要素:
- 事件源:那个dom元素被时间触发了,要获取dom元素
- 事件类型:用什么方式触发,比如:单击(click),鼠标经过(mouseenter),鼠标离开(mouseleave)
- 事件调用函数:要做什么事情
3.BOM (浏览器对象模型)
作用:使用 js 去操作 html 和 浏览器