jsDom节点操作

1、DOMDocument Object Model(文档对象模型)

     网页上的所有内容都是节点,节点分为元素节点、属性节点、文本节点、注释节点、文档节点等

2、快速访问节点的方法有三种:

      getElementById("")                :     根据id来获取节点

      getElementsByName("")        :     根据name属性来获取节点集合

      getElementsByTagName("")  :      根据元素的标签属性来获取节点集合

3、节点的分布

                                                          

     节点的话就像一颗到挂的树,我们称之为Dom树,那么我们访问的话就是访问这些树的每个结构,每个分支,层次访问的话有以下几个方法:

                                  parentNode:返回节点的父节点
                                  childNodes:返回子节点的集合
                                  firstChild:返回节点的第一个子节点,最普遍的方法是访问该元素的文本节点
                                  lastChild:返回节点的最后一个子节点
                                  nextSibling:下一个节点
                                  previousSibling:上一个节点

注意:以上方法访问节点时会访问所有节点,例如:元素节点、属性节点、文本节点、注释节点、文档节点等(即包含空格,注释)。

                                       

或者可以使用以下element属性,可以忽略注释节点和文本节点(即不包含空格,注释)。

                   firstElementChild:返回节点的第一个子节点,最普遍的方法是访问该元素的文本节点
                   lastElementChild:返回节点的最后一个子节点
                   nextElementSibling:下一个节点
                   previousElementSibling:上一个节点

4、节点信息获取(属性)

                                 nodeName:  节点名称

                                 nodeValue:   节点值

                                 nodeType  :节点类型值

            以下是节点类型对应的节点值:

                                element(元素、标签):1

                                attr(属性):2

                                 text (文本)    :3

                                 comments(注释):8

                                 document(文档):9

5、节点的操作(新增节点、删除节点、替换节点)

           如何设置节点的属性:

                 getAttribute("属性名");                      获取属性

                 setAttribute("属性名","属性值") ;      获取并设置属性       

   新增节点:

                             createElement("标签名") ;         创建一个新标签节点

                             a.appendChild(b); 将b节点追加到a节点内的末尾

                             c.insertBefore(b,a); 在父级c里面将b追加到a前面;  

示例1:

                                   

结果1:

                               

     示例2(insertBefore()方法):

                                

      结果2:

                                

     示例3(复制节点并进行追加节点):

                                           

     结果3:

                                                     

    

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_41305159/article/details/98943121
今日推荐