• javascipt操作BOM.2


       
       
       

    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 只是复制自己本身

    7.删除和替换节点

    名称 描述

    removeChild( node)

    删除指定的节点

    replaceChild( newNode, oldNode)

    用其他的节点替换指定的节点

      实例:

        var delNode=document.getElementById("first");

        delNode.parentNode.removeChild(delNode);

        var oldNode=document.getElementById("second");

        var newNode=document.createElement("img");

        newNode.setAttribute("src","images/f03.jpg");

        oldNode.parentNode.replaceChild(newNode,oldNode);

    8.操作节点样式

      改变样式的属性

        1.style属性

          语法:  HTML元素.style . 样式属性 = "值" ;

    名称 描述
    onclick 当用户单击某个对象是调用事件
    onmouseover 鼠标移到某元素之上
    onmouseout 鼠标从某元素移开
    onmousedown 鼠标按钮被按下

        2.className属性

          HTML元素 . className="样式名称";

    9.获得元素的样式

      语法: HTML元素.style.样式属性 ;

        实例: alert(document.getElementById("cartList").style.display);

      语法: document.defaultView.getComputerStyle(元素,null).属性;

        实例: var cartList=document.getElementById("cartList");                                          alert(document.defaultView.getComputedStyle(cartList,null).display);              

      语法: HTML元素.currentStyle.样式属性

        实例: alert(document.getElementById("cartList").currentStyle.display);

    10.HTML中元素属性应用

    属性 描述

    offsetLeft

    返回当前元素左边界到它上级元素的左边界的距离,只读属性

    offsetTop

    返回当前元素上边界到它上级元素的上边界的距离,只读属性

    offsetHeight

    返回元素的高度

    offsetWidth

    返回元素的宽度

    offsetParent

    返回元素的偏移容器,即对最近的动态定位的包含元素的引用

    scrollTop

    返回匹配元素的滚动条的垂直位置

    scrollLeft

    返回匹配元素的滚动条的水平位置

    clientWidth

    返回元素的可见宽度

    clientHeight

    返回元素的可见高度

      语法: document.documentElement.scrollTop;

        document.documentElement.scrollLeft;

        或者

        document.body.scrollTop;

        document.body.scrollLeft;

  • 相关阅读:
    关于Java中变量的意义和注意事项
    成为Android高手的十个建议
    成为Java高手的25个学习目标(经典)
    流体力学神器:Naiad 0.6 Windows版试用
    饭前念诵+感恩辞+感恩白開水
    Android 基本开发规范(必读)
    Python批量重命名Maya场景中的3D物体
    Java高新技术视频笔记:反射
    程序员编程技术迅速提高的终极攻略
    三十、有关联网问题
  • 原文地址:https://www.cnblogs.com/Cherry-balls/p/13159314.html
Copyright © 2020-2023  润新知