BOM
1.浏览器对象模型(broswer object model)
2.window
所有没加前缀的属性和方法其父元素为window
具有阻塞行为的三个弹出框
alert();
弹出框具备阻塞行为
prompt();
由键盘录入数据
prompt([提示信息],[默认值])
返回一个字符串
confirm
confirm(提示信息)
返回布尔值
两个定时器
循环定时器
let time=setInterval(回调函数,间隔):返回关闭定时器的钥匙
clearInterval(time);
延时定时器
let time=setTimeout(回调函数,间隔):返回关闭定时器的钥匙
clearTimeout(time);
window.onload(); 延迟加载,等所有页面加载完再加载
3.localtion 地址对象
href
读:location.href
写:location.href=" ";
replace()也可实现页面跳转
reload 刷新
4.history
直接绑定HTML
history.forword();
history.back();
history.go(-1/1);
5.document
document.write()
write方法自带文本解析
write与事件绑定连用时,会覆盖原页面
通过document找页面的HTML元素对象
通过ID名获取
document.getElementById("ID");
返回单个元素
通过标签批量获取元素对象
document.getElementsByTagNmae( "标签")
返回数组
通过类名批量获取元素
geyElementsByClassName()
返回数组
通过name批量获取元素
document.getElementsByName("name名称");
返回数组
通过标签、类名批量获取对象
document.querySelectorALL(选择器)
通过类名(".class名")、ID名(”#ID名“)、标签名批量获取元素
通过ID名、类名、标签名获得单个元素
document.querySelector(选择器);
返回单个元素
只能在页面只有一个元素的时候使用
通过类名(".class名")、ID名(”#ID名“)、标签名获取(多个获取第一个)单个元素
6.event(见文章 BOM事件)
DOM
1.DOM(document object medol)
2.节点和节点之间的关系,节点遍历
3.节点遍历的8种方法
通过层级关系访问节点
parentNode:找父节点
childNodes :返回所有的子节点,存放在数组中,获取的节点包括元素节点和文本节点
children :返回所有的子节点,存放至数组中,只获得父节点的元素子节点
appendchild :追加子元素
通过层级关系访问元素节点(忽略文本节点)
firstElementChild
lastElementChild
nextElementSibling
priviousElemenibling
5.节点.nodetype 判断节点类型
1:元素节点
3:文本节点
6.DOM结点的操作
创建元素
document.creatElement("标签名")
连接节点
父节点.appendChild(子节点)
节点的删除
节点.remove();
7.Chilenode过滤空白节点(节点遍历)
父节点.childNodes()
返回所有的子节点,存放在数组中
获取的节点包括元素节点和文本节点
if(arr[i]==3){remove;}
arr[i]=1为元素节点
children:返回所有的子节点,存放至数组中,只获得父节点的元素子节点
8.各种文本
outerHTML
包含自身标签的所有内容
innertext
只输出对象的文本内容
innerHTML
当前元素的所有内容
通过字符串拼接,批量创建DOM节点
批量添加新元素
单独添加新元素
9.元素的属性
(1)属性的读写
a.通过打点(域运算符)
b.set/get
setAttribute()
getAttribute()
(2)为任意对象添加自定义属性
打点
setAttribute();用相应的方式获取对应的属性
10.样式的读写
行内样式读写:容器.style.属性
获取非行内样式(读)
getComputedStyle(目标元素,false)["属性名称“]
返回属性名对应的属性值
只可读,不可写
非行内样式写与行内样式一样
11.insertBefore(追加到节点之前)
父节点.insertBefore(目标元素,绑定元素)
将目标元素添加至目标元素之前绑定在父元素上
参数2为null时,等价于appendChild
12.各种位置的读写
读写样式、属性、offset属性
offsetwidth/offsetheight/offsetLeft/offsetTop
读
容器.offsetWidth
返回的数据全部为数字
写
容器.style.width="属性值"
13.window.onscroll()
兼容性问题
获取滚动条高度兼容获取方法
_top=documenet.body.scrollTop|| document.documentElement.scrollTop
返回顶端
obtn.onclick=function(){
document.body.scrollTop=document.documentElement.scrollTop=0;
}
14.动态创建表格
事件绑定和事件体是两种不同得代码,
事件绑定得代码自上而下执行,
事件体得代码必须通过动作触发,
事件得执行在页面渲染完之后
this
函数得内置对象
事件体内的this:触发事件的元素
15.cannot read property:调用该属性的对象不存在