DOM(文档)操作

本文详细介绍了Document Object Model (DOM),包括其作为HTML和XML文档接口的作用,节点层次、分类、值和类型,以及如何通过API操作节点、创建、插入、替换、克隆和删除节点,以及节点属性和文本的操作。涵盖了getElementById、getElementsBy*等核心方法和createElement、appendChild等关键操作。
摘要由CSDN通过智能技术生成

        DOM:Document Object Model:文档对象模型

        它是XML文档和HTML的编程接口,定义了访问和操作HTML和XML文档的标准方法

        操作HTML和XML文档的标准方法

        DOM树:dom以树形目录结构表示HTML和XML文档

                document->html->head/body

        1)节点层次:

                节点层次分为父子节点和同胞节点两种。

                在节点树中,顶端节点被称为根(root)

                每个节点都有父节点,除了根节点,一个节点

                可拥有任意数量子节点

                同胞是拥有相同父节点的节点。

        2)节点分类(nodeType)

                元素节点:标签

                属性节点:标签的属性

                文本节点:标签后的换行符

                文档节点:document

        3)节点名称(NodeName)

                元素节点的标签名相同

                属性节点的属性名相同

                文本节点的#text

                文档节点的document

        4)节点的值(nodevalue)

                元素节点的undefined或null

                文本节点的文本本身

                属性节点的属性值

        5)节点类型(nodetype)

                元素  返回值 为1

                属性  返回值  为2

                文本  返回值  为3

                注释  返回值  为8

        2.操作节点

                a)

                        1)getElementById('id'):通过ID获取节点

                        2)getElementByTagName('标签'):通过标签名获取节点

                        3)getElementsByName('name'):通过标签的name获取节点,返回的是一个数组

                        4)getElementsByClassName('class'):通过类名获取节点,返回数组

                        5)querySelect('选择器'):根据选择器找到结果集中的第一个

                        6)querySelectAll('选择器'):根据选择器返回结果集

 

                b)创建DOM节点

                        1)createElement('标签名'):创建元素节点

                        2)createTextNode('动态创建'):创建文本节点(就是创建了一个字符串)

                        3)creatAttribute('class','value'):创建属性节点,第一个值是属性名,第二个值是属                  性值。

                        4)appendChild('元素'):在文档中创建一个子节点(子节点可包括(<p class='item'>你 好 </p>)整个结构)。

              

                c)插入节点

                        i).插入内部的尾部

                                父节点.appendChild(创建的节点)

                        ii)插入内部某个节点前面

                                父节点.insertBefore(创建的子节点,已知的子节点)

 

                 d)替换节点

                        父节点.replaceChild(新节点,老节点)

                e)克隆节点

                        深度克隆:包含子节点一起克隆

                        浅克隆:只会将找到的这个节点克隆,子节点不会克隆

                                cloneNode(true/false);false:浅克隆,true:深度克隆

                 f)删除节点

                        i)节点.romove():删除当前节点及子节点

                        ii)删除子节点:父节点.removeChild(子节点)

                g)节点属性操作

                        i)获取属性值

                                DOM节点.属性名//不能获取用户自定义属性值

                                DOM节点.getAttribute(属性名)//获取所有属性值

                        ii)设置属性值

                                DOM节点.属性名=表达式

                                DOM节点.setAttribute(属性名,属性值)

                        iii)删除属性值

                                DOM节点.属性名='';//使其值为空

                                DOM节点.removeAttribute('属性名')

                  h)节点文本操作

                        i)获取文本

                                节点.innerHTML,获取节点下所有内容,包含标签

                                节点.innerText,获取节点下的文本内容,过滤标签

                                节点.value,获取input输入框等表单控件内容

                                节点.getAttribute('value')value是表单属性

                        ii)设置文本

                                innerHTML='文本内容',它会翻译html标签

                                innerText='文本内容',它则不会翻译标签

                                节点.value='值'

                                节点.setAttribute('value',值),因为value作为属性是可以用该方法的

                        iii)删除文本

                                将以上方法后的值设为空即可

 

 

                I)DOM节点样式操作

                        a)操作样式class

                                i)获取class

                                        节点.className获取节点的所有class

                                        节点.getAttribute('class')获取节点的所有class

                                ii)设置class

                                        节点.className=值

                                        节点.setAttribute

                                iii)其它方法

                                        节点.classList.add(value);为元素添加类

                                        节点.classList.containS(value);判断元素是否含有指定类,存在返回true                                          节点.classList.remove(value);删除指定类

                                         节点.toggle(value);有就删没有就添加

                        b)操作内联样式

                                i)获取内联样式

                                        节点.style.样式属性名->获取某个具体内联样式

                                        节点.style.cssText->获取某个节点所有内联样式返回字符串

                                ii)设置内联样式

                                        节点.style.样式属性名=属性值//设置某个具体内联样式

                                        节点.style.cssText=属性值或属性列表//设置某个节点的所有内联样式

 

 

                                

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值