• JavaScript操作DOM对象


    DOM:Document Object Model(文档对象模型),即文档对象模型,是基于文档编程的一套API接口。

    使用JavaScript操作DOM时分为三个方面:DOMCore(核心)、HTML-DOM和CSS-DOM。

    1、DOM Core

    DOM Core不是JavaScript的专属品,任何一种支持DOM的编程语言都可以使用它,它的用途仅限于处理一种使用标记语言编写出来的文档。

    2、HTML-DOM

    使用JavaScript和DOM为HTML文档编写脚本时,有许多专属的HTML-DOM属性,HTML-DOM出现的比DOM Core更早,它提供了一些更简单的标记来描述各种HTML元素的属性。

     

    3、CSS-DOM

    CSS-DOM是针对CSS的操作,在JavaScript中,CSS-DOM技术的主要作用是获取和设置style对象的各种属性。

    节点和节点关系

    HTML文档中每个标签或元素都是一个节点,在DOM中是这样规定的。

    a)整个文档是一个文档节点

    b)每个HTML标签是一个元素节点

    c)包含在HTML元素中的文本是文本节点

    d)每个HTML属性是一个属性节点

    e)注释属于注释节点

    访问节点

    使用DOM Core访问HTML文档的节点主要有两种方式,一种是使用getElement系列方法访问指定节点,另外一种是根据节点的层次关系访问节点。

     

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

    getElementById()、getElementsByName()、getElementsByTagName()

    2、节点属性  

    属性名称      描述

    parentNode    返回节点的父节点

    childNodes     返回子节点集合,childNodes[i]

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

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

    nextSibling     下一个节点

    previousSibling   上一个节点

    在JavaScript中提供了一组可兼容不同浏览器的Element属性,可以消除空行或换行等出现的无法准确访问到节点的情况

    element属性

    属性名称        描述

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

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

    nextElementSibling     下一个节点

    previousElementSibling      上一个节点

    需要获取不同的节点时,使用节点属性和element属性的写法如下:

    oNext = oParent.nextElementSibling || oParent.nextSibling //获取下一个节点

    oPre = oParent.previousElementSibling || oParent.previousSibling //获取上一个节点

    oFirst = oParent. firstElementChild || oParent.firstChild //获取第一个节点

    oLast = oParent.lastElementChild || oParent.lastChild //获取最后一个节点

    节点信息

    节点是DOM层次结构中的任何类型的对象的通用名称,每个节点都拥有包含着关于节点某些信息的属性。

    nodeName:节点名称

    nodeValue:节点值

    nodeType:节点类型

    nodeName属性包含某个节点的名称,元素节点的nodeName是标签名称,属性节点的nodeName是属性名称,文本节点的nodeName永远是#text,文档节点的nodeName永远是#document。

    nodeValue节点值,对于文本节点,nodeValue属性包含文本;对于属性节点,nodeValue属性包含属性值;nodeValue属性对于文档节点和元素节点是不可用的。

    nodeType属性可返回节点的类型,是一个只读属性

     

    节点类型

    节点类型      NodeType值

    元素element    1

    属性attr       2

    文本text      3

    注释comments   8

    文档document   9

    操作节点

    操作节点的属性

    语法:

    getAttribute("属性名");用来获取属性的值

    setAttribute("属性名","属性值");用来设置属性的值

    创建和插入节点

    使用JavaScript操作DOM有很多方法可以创建或增加一个新节点

    创建节点

    名称                  描述

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

    A.appendChild( B)              把B节点追加至A节点的末尾

    insertBefore( A,B )              把A节点插入到B节点之前

    cloneNode(deep)             复制某个指定的节点

    注:

    insertBefore( A,B )中有两个参数。A是必选项,表示新插入的节点;B是可选项,表示新节点被插入B节点的前面

    cloneNode(deep)中的参数deep为布尔值,若deep值为true,则复制该节点及该节点的所有子节点,若deep值为false,则只复制该节点和其属性。

    删除和替换节点

    删除和替换节点的方法

    名称                      描述

    removeChild( node)                删除指定的节点

    replaceChild( newNode, oldNode)属性attr       用其他的节点替换指定的节点

    方法replaceChild( newNode, oldNode)中的两个参数,newNode是替换的新节点,oldNode是要被替换的节点。

     

    操作节点的样式

    1、style属性

    在HTML DOM中,style是一个对象,代表一个单独的样式声明,可通过应用样式的文档或元素访问style对象。

    语法:

    HTML元素.style.样式属性="值"

    在JavaScript中“-”表示减号,如果样式属性名称中带有“-”号,则要省去“-”,并且“-”后的首字母要大写。

    常用事件

    名称                描述

    onclick               当用户单击某个对象时调用事件

    onmouseover            鼠标移到某元素之上

    onmouseout              鼠标从某元素移开

    onmousedown             鼠标按钮被按下

     

    2、className属性

    在HTML DOM中,calssName属性可设置或返回元素的calss样式

    语法:

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

    获取元素的样式

    在JavaScript中可以使用style属性获取样式的属性值

    语法:

    HTML元素.style.样式属性;


    注:在JavaScript中,使用“HTML元素.style.样式属性;”的方式只能获取内联样式的属性值,无法获取内部样式表或外部样式表的属性值。

    微软为每个元素提供了一个currentStyle对象,它包含了所有元素的style对象的特性和任何未被覆盖的CSS规则的style特性。

    语法:

    document.defaultView.getComputedStyle(元素,null).属性;

    兼容IE浏览器的方法

    语法:

    HTML元素. currentStyle.样式属性;

    获取元素位置

    可以获取滚动状态下元素的一些属性

    HTML中元素的属性

    属性            描述

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

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

    offsetHeight        返回元素的高度

    offsetWidth         返回元素的宽度

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

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

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

    clientWidth        返回元素的可见宽度

    clientHeight              返回元素的可见高度

    scrollTop和scrollLeft这两个属性,获得的数值单位是像素(px),对于不滚动的元素,这两个属性值总是0,这两个属性获取滚动条在窗口中滚动的距离。

    语法:

    document.documentElement.scrollTop;
    document.documentElement.scrollLeft;

    或者

    document.body.scrollTop;
    document.body.scrollLeft;
  • 相关阅读:
    java入门最好的一套书
    【转载】vim的E492错误
    SESSION保存到数据库中,然后从数据库中读取
    django教程
    用vim写python代码的两个关键设置
    HTTP/1.1中文版
    SQL基础教程
    简单清晰的HTML教程
    vim中如何按一个键就保存文件
    【转载】Vim操作
  • 原文地址:https://www.cnblogs.com/F017/p/10979230.html
Copyright © 2020-2023  润新知