BOM和DOM第二部分

8.页面卷去的距离

语法 : 

document.documentElement.scrollTop    ---有文档声明的时候使用

document.body.scollTop   ---没有文档声明的时候

兼容写法:

var t = document.documentElement.scrollTop || document.body.scrollTop

9.短路运算

短路运算通常使用 || 和 &&

可以用于赋值-看看代码是否能进行倒最后(符号的右边),如果能进行倒右边,就会将右边的值赋值给变量,如果进行不到右边,就将左边的值赋值给变量

利用逻辑运算,查看左边的结果是否能决定整体的结果

var a = 1 ||  2               var a = null   ||   666       var a = 2  && 3      var a = false  &&  8

10.节点操作

利用ul举例    var ul = document.querySelector('ul')

1.根据标签之间的关系获取标签

获取所有的儿子 -- 父.children

console.log(ul.children)

获取第一个儿子   - 父.firstElementchild

获取最后一个儿子  -- 父.lastElementChild

获取父标签   儿子.parentElement

获取哥哥  -- 弟弟.previousElementSibling;

获取弟弟  -- 哥哥.nextElementSibling

2.创建标签

语法 :  document.createElement('标签名')

var b = document.createElement('b')            b.innerText = '加粗文本'

3.插入到文档中

给父追加一个子 - 将这个标签作为某个父标签的最后一个儿子

语法: 父.appendChild(子)

将标签放在某个父标签的某个子标签的前面

父.insertBefore(新的子,旧的子)

var i = document.createElement('i')     i.innerText = '文本倾斜'    ul.insertBefore(i,b)

4.替换标签

语法: 父.replaceChild(新,旧)

var u = document.createElement('u')     u.innerText = '下划线'   ul.replaceChild(u,i)

5.删除

父.removeChild(子)    ul.removeChild(u)

6.复制

标签.cloneNode()  --复制空壳   var  newu= u.cloneNode()

标签.cloneNode(true)  ---带内容复制   var  newu= u.cloneNode(true)

11.获取标签尺寸

不包含边框的大小

标签.clientWidth      

标签.clientHeight

var w1 = div.clientWidth     console.log(w1)

包含边框的大小

标签.offsetWidth    标签.offsetHeight

var w1 = div.offsetWidth     console.log(w1)

12.获取边框位置

标签.offsetLeft      标签.offsetTop

var l = div.offsetLeft

13.获取边框厚度

标签.clientLeft     标签.clientTop  -- 获取左边框和上边框厚度

console.log(div.clientLeft)

14.回流和重绘

浏览器的渲染过程:

html结构和css代码同时开始解析,html结构最终被解析成一棵dom树,css代码被解析成一个样式规则,dom树和样式规则合并成一棵渲染树,渲染树开始布局(计算标签的大小和位置),绘画(涂颜色),将页面显示出来  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值