APIs基础one
一、Web API基础认知
声明变量const优先:const语义更好,如果发现变量后面要修改,则改为let
对于引用数据类型(数组,对象,函数),const声明的变量,里面存的不是值,是地址,只要地址不变,就可以用const。建议数组和对象使用const来声明。
如果简单数据类型的值或者引用类型的地址发生变化的时候,就需要用let.
作用:使用js去操作html和浏览器
分类:DOM(文档对象模型)、BOM(浏览器对象模型)
DOM:是浏览器用来操作网页内容
二、获取DOM对象
DOM树:将HTML文档以树状结构直观表现出来,体现标签与标签的关系。
DOM对象:浏览器根据HTML标签生成的JS对象。
DOM核心思想:把网页内容当做对象来处理。
document对象:是DOM提供的一个对象,网页所有内容都在document里面。
根据css选择器获取DOM对象
1、选择匹配的第一个元素
document.querySelector('css选择器')//必须加引号'',能够直接操作修改
2、选择匹配多个元素
document.querySelectorAll('css选择器')//必须加引号'',不能直接操作修改,得到的是伪数组,没有pop(),push()等数组方法
要获取里面每个元素,用for循环
<div>123</div><div>465</div><div class="box">789</div><span>111</span><span>222</span><span>333</span><script>const div = document.querySelector('div')div.style.color = 'red'const box=document.querySelector('.box')const span = document.querySelectorAll('span')</script>
3、其他方法获取元素
document.getElementById('css选择器') document.getElementByTagName('css选择器') document.getElementByClassName('css选择器')
三、操作元素内容
1、对象.innerText属性
将文本内容添加/更新到任意标签位置;
显示纯文本,不解析标签。
<div class="box">我是文字你忍忍</div><script>const box=document.querySelector('.box')//获取元素console.log(box.innerText);//获取文字内容box.innerText='我是盒子'//修改文字内容box.innerText='<strong>我是盒子</strong>'//不解析标签 </script>
2、对象.innerHTML属性
将文本内容添加/更新到任意标签位置;
会解析标签。
四、操作元素属性
操作元素常用属性
对象.属性=值
操作元素样式属性
1、通过style属性操作css
对象.style.样式属性='值 ',有单位的要带上单位。样式属性是多组单词时(属性有连字符的),采取小驼峰命名法。
2、通过类名控制css
元素.className='css类名',className会覆盖以前的类名
3、通过classList操作类控制css
元素.classList.add('类名')//追加一个类,类名不加.
元素.classList.remove('类名')//删除,类名不加.
元素.classList.toggle('类名')//切换类,有就删除,没有就添加
操作表单元素属性
获取:DOM对象.属性值
设置:DOM对象.属性值=新值
innerHTML得不到表单的内容,用表单.value获取表单里面的值。
表单属性中添加就有效果,移除就没有效果,一律使用布尔值表示,如果为true,则添加该属性,false代表移除该属性,比如:disabled,checked,selected。
自定义属性
标准属性:标签自带的属性,如class,id,title,可以直接使用点语法操作,如:disabled,checked,selected。
自定义属性:
在html5推出了专门的data-自定义属性;
在标签上一律以data-开头;
在DOM对象上一律以dataset对象方式获取。
五、定时器-间歇函数
1、开启定时器
setInterval(函数,间隙时间)//如果函数是有名函数,函数只需要写函数名,不需要加(),返回一个id数字。
//setInterval(函数,间隙时间) setInterval(function(){ console.log('一秒执行一次') },1000) function fn(){ console.log('一秒执行一次') } setInterval(fn,1000)
2、关闭定时器
let 变量名=setInterval(函数,间隙时间)
clearInterval(变量名)