day12(DOM-2及相关知识点)

DOM

一、节点的操作

父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称 为同胞(兄弟或姐妹)

childNodes 获取当前元素节点的所有子节点

firstChild 获取当前元素节点的第一个子节点

lastChild 获取当前元素节点的最后一个子节点

previousSibling 获取当前节点的前一个同级节点 -(678不支持)

nextSibling 获取当前节点的后一个同级节点 -(678不支持)

以上五中方法都包含空白文本节点


firstElementChild   获取当前元素节点的第一个元素子节点

lastElementChild  获取当前元素节点的最后一个元素子节点

previousElementSibling 查找当前元素的上一个元素

nextElementSibling  查找当前元素的下一个元素  都是兄弟关系

parentNode 获取当前节点的父元素

children 获取所有的子节点  不返回其他节点
二、DOM尺寸和位置
box.style.width
box.style.height
只能获取到内联style属性的CSS样式中的宽和高,如果有,获取;如果没有,则返回空

box.clientWidth
box.clientHeight
返回了元素大小,但没有单位,默认单位是px,如果设置了其他的单位,比如100em之类,返回出来的结果还会转换为px像素(不含边框) width + padding值

box.clientLeft
box.clientTop    获取左边框和上边框的宽度

box.scrollWidth
box.scrollHeight
获取滚动内容的元素大小(当元素出现滚动条时,此属性指全部滚动内容的宽高)返回了元素大小,默认单位是px。如果没有设置任何CSS的宽和高度,它会得到计算后的宽度和高度  整个内容的

box.offsetWidth
box.offsetHeight
返回了元素大小,默认单位是px。如果没有设置任何CSS的宽和高度,他会得到计算后的宽度和高度
包含盒模型中除margin以外的宽高(包含边框)最稳定,使用最频繁

box.offsetLeft    需要定位参照  

box.offsetTop     获取元素当前相对于offsetParent父元素的位置

getComputedStyle().样式名 方法用于获取指定元素的 CSS 样式。获取的样式是元素在浏览器中最终渲染效果的样式。

参数1表示元素, 不能设置引号。 参数2表示伪对象(一般设置为空)

语法:getComputedStyle(元素名称).属性;

currentStyle.样式名 只有IE浏览器支持,其他浏览器都不支持 如果当前元素没有设置样式,则返回它的默认属性

获取非行内样式(兼容问题)

function getStyle(obj, name){
    if(window.getComputedStyle){
        //非IE浏览器
        return getComputedStyle(obj, null)[name];
    }else{
        //针对IE浏览器
        return obj.currentStyle[name];
    }
}
三、简单认识this对象
1、核心一句话 - 哪个对象调用函数,函数里面的this指向哪个对象。

2、浏览器解析器在调用函数时每次都会向函数内部传递一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,这个对象我们称之为函数执行的上下文对象。

3、根据函数的调用方式的不同,this会指向不同的对象,这也是this的存在的意义所在。

每个函数都有自己的执行环境,也叫执行上下文(Execution Context)

函数里面的this是谁?

  • 函数调用圆括号时,函数的this是window对象

  • 函数作为一个对象的方法,对象打点调用,函数的this就是这个对象

  • 函数是事件处理函数时,函数的this就是触发这个this的对象

  • 定时器调用函数时,this是window对象

  • 数组中存放的函数,被数组索引之后加圆括号调用,this就是这个数组

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿駷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值