jsday11学习笔记

DOM节点:

                从文档对象模型DOM角度看:

                        每个html标签、标签属性、内容、注释...都被看成dom节点

                        DOM 就是我们 html 结构中一个一个的节点构成的

                DOM 节点类型:

                        1.整个文档是一个文档节点

                        2.每个 HTML 元素是元素节点

                        3.HTML 元素内的文本是文本节点

                        4.每个 HTML 属性是属性节点

                        5.注释是注释节点

        常用的三大类:元素节点 / 文本节点 / 属性节点

                getElementBy... 获取到的都是元素节点

                getAttribute  获取的是元素的属性节点

                innerHTML  获取到的是元素文本节点

                DOM节点关系:

                根节点:在HTML文档中,html就是根节点。

                父节点:一个节点之上的节点就是该节点的父节点,例如ul的父节点就是body,body的父节点就是html。
                子节点:一个节点之下的节点就是该节点的子节点,例如ul就是body的子节点。

                兄弟节点:如果多个节点在同一层次,并拥有相同的父节点,那么这几个节点就是兄弟节点。例如所有li是兄弟节点,因为他们拥有相同的父节点ul

parentNode  返回的是父节点

childNodes   返回的是节点的集合 childNodes[ i ]

firstChild       返回的是第一个子节点,最普遍的用法就是访问该元素的文本节点

lastChild       返回的是最后一个子节点

nextSibling   下一个节点

previousSibling    上一个节点

                层次节点获取元素节点:

                firstElementChild        返回的是第一个子节点

                lastElementChlid        返回的是最后一个子节点

                nextElementSibling        下一个节点

                previousElementSibling        上一个节点

                节点属性:

                 元素节点        nodeType =>1        nodeName => 大写标签名        nodeValue=>null

                 属性节点        nodeType =>2        nodeName => 属性名       nodeValue=>属性值

                 文本节点        nodeType =>3        nodeName => #text       nodeValue=>文本内容

操作DOM节点:

                创建节点:

                createElement =>用于创建一个元素节点

                createTextNode =>用于创建一个文本节点

                创建属性节点:

                        createAttribute: 创建属性节点

                        setAttruibuteNode: 给元素节点设置属性节点

                加入节点:

                        appendChild:是向一个元素节点的末尾追加一个节点

                        insertBefore:向某一个节点前插入一个节点

                删除节点:

                        removeChild:移除某一节点下的某一个节点                                

                        remove: 移除当前节点                        语法:oDiv.remove() 移除oDiv节点

                替换节点:

                        replaceChild:将页面中的某一个节点替换掉       

                        语法:父节点.repalceChild(新节点,旧节点)

                复制节点:                        

                        语法: 节点.cloneNode(true|false)

                        true: 复制节点包含节点下所有子节点

                        false: 复制当前节点

获取元素的非行间样式:

                getComputedStyle和currentStyle

                getComputedStyle(非IE使用)

                currentStyle(IE使用)

获取元素的偏移量:

                offsetLeft 和 offsetTop        

        获取的是元左边的偏移量和.上边的偏移量
        分成两个情况来看
        没有定位的情况下
        获取元素边框外侧到页面内侧的距离
        有定位的情况下
        获取元素边框外侧到定位父级边框内侧的距离(其实就是我们写的left和top值)

                offsetWidth 和 offsetHeight

        获取元素内容宽高+ padding宽高 + border宽高的和
 

                

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值