首页 > 编程语言 > 详细

javascipt操作BOM.2

时间:2020-06-18 19:53:02      阅读:46      评论:0      收藏:0      [点我收藏+]

1.BOM : Document Object Model(文档对象模型)

2.节点与节点的关系

技术分享图片

 

 

 

3.访问节点:    

  1.使用getElement系列方法访问指定节点

    getElementById()

    getElementsByName()

    getElementsByTagName()  

  2.根据层次关系访问节点

    1.节点属性

      ParenNode       返回节点的父节点

      ChildNodes      返回节点集合 childnodes[i]

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

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

      nextSibling     下一个节点

      previoussibling     上一个节点

    2.element属性

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

      lastElementChild 返回节点的最后一个节点

      nextElementSibling 下一个节点

      previousElementSibling 上一个节点

 

      var Next = Parent.nextElementSibling  ||  Parent.nextSibling  

      var Pre = Parent.previousElementSibling  ||  Parent.previousSibling 

      var First = Parent. firstElementChild  ||  Parent.firstChild  

      var Last = Parent.lastElementChild  ||  Parent.lastChild

      ||前后的都要写上,从而保证兼容性

当ul中没有空行的时候,弹出节点数目为n,当增加一个空行的时候,弹出的数变为6,为什么会这样呢,因为浏览器解析的时候会认为空行也是一个子节点,所以会是n+i,解决方案就是 element 属性,可以避免输出空节点

3.firstChild与firstElementChild的异同 

    相同: 它们的共同点都是获取父节点下第一个节点对象。

    不同1.firstChild可以获取文本元素而firstElemenChild不能 .

    2.但是firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),

比如空格和换行都被当做文本节点

4.节点信息

  nodeName : 节点名称

  nodeValue : 节点值

  nodeType : 节点类型

节点信息 nodeType值
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

 

5.操作节点的属性

  语法: getAttibute("属性名")

     setAttibute("属性名"."属性值")

6.创建和插入节点

名称 描述

createElement( tagName)

创建一个标签名为tagName的新元素节点

A.appendChild( B)

把B节点追加至A节点的末尾

insertBefore( A,B )

把A节点插入到B节点之前

cloneNode(deep)

复制某个指定的节点

   注:deep的值只有turefalse

    true 是复制本身加所有子节点

    false 只是复制自己本身

javascipt操作BOM.2

原文:https://www.cnblogs.com/Cherry-balls/p/13159314.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!