DOM是为了方便处理层次型文档(如XML、HTML)的一种技术。DOM还提供了一套API,使开发人员可以用面向对象的方式来处理这些文档。对于XML文档来说,有专门的处理XML文档是XML  DOM,一般用的都是处理HTML文档 的HTML  DOM 。

  DOM 主要的功能是获得HTML语言中的各个元素(如div、form),从而可以很容易地获得这些元素的信息,或动态向这些元素中添加新的元素。操作DOM的对象实际上也需要使用JavaScript,也就是,调用DOM API也要编写JavaSscript代码。在JavaScript中描述DOM的对象是docment,其实document不仅是HTML DOM ,也是XML DOM,如果是直接操作HTML文档,可以使用documentElement属性,

    var   oHtml =  document.documentElement ;

  oHtml对象表示当前的整个HTML文档。在HTML文档的下一层有两个元素,head和body,这两个元素可以使用firstChild属性和lastChild属性获得,

    var   oHead = oHtml.firstChild ;
var oBody = oHtml.lastChild ;

  还可以使用childNodes属性来获得上面两个对象,

        var  oHead = oHtml.childNodes[0] ;
var oBody = oHtml.childNodes[1] ;

  通过HTML元素对象的outerHTML和innerHTML属性,可以分别获得当前元素的包括元素本身的和不包括元素本身的HTML代码,

        alert(oHead.outerHTML) ;    //  显示包括head标签本身的内容
alert(oBody.innerHTML) ; // 显示不包括body标签本身的内容

  在DOM 中有3中方法可以获得当前HTML文档中的任意一个HTML元素,这3个方法也就是HTML  document 的3 个方法,分别是getElementById、getElementsByClassName、getElementsByTagName。

  1.getElementById方法

  getElementById方法是最简单的一个,这个方法可以根据HTML元素的id属性值得到HTML元素。在HTML文档中,id属性值是唯一的。

  2、getElementsByClassName方法

  这个方法通过HTML的class属性获得对应的HTML元素集合。由于HTML元素的class属性值并不唯一,因此,使用getElementsByClassName方法可以得到多个相同class属性值的HTML元素。

  3、getElementsByTagName

  getElementsByTagName方法获得的HTML元素的范围最大,他可以根据HTML元素的标签类型来获得一个相同HTML元素的数组。

了解DOM的更多相关文章

  1. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  2. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  3. 页面嵌入dom与被嵌入iframe的攻防

    1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...

  4. 通俗易懂的来讲讲DOM

    DOM是所有前端开发每天打交道的东西,但是随着jQuery等库的出现,大大简化了DOM操作,导致大家慢慢的“遗忘”了它的本来面貌.不过,要想深入学习前端知识,对DOM的了解是不可或缺的,所以本文力图系 ...

  5. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  6. HTML DOM 对象

    本篇主要介绍HTML DOM 对象:Document.Element.Attr.Event等4个对象. 目录 1. Document 对象:表示文档树的根节点,大部分属性和方法都是对元素进行操作. 2 ...

  7. 重撸js_2_基础dom操作

    1.node 方法 返回 含义 nodeName String 获取节点名称 nodeType Number 获取节点类型 nodeValue String 节点的值(注意:文本也是节点) 2.inn ...

  8. 虚拟dom与diff算法 分析

    好文集合: 深入浅出React(四):虚拟DOM Diff算法解析 全面理解虚拟DOM,实现虚拟DOM

  9. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

  10. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

随机推荐

  1. ACM_LRU页面置换算法

    LRU页面置换算法 Time Limit: 2000/1000ms (Java/Others) Problem Description: sss操作系统没听课, 这周的操作系统作业完全不会, 你能帮他 ...

  2. SqlParameter 操作 image 字段

    public static void AddEmployee( string lastName, string firstName, string title, DateTime hireDate, ...

  3. Web API性能优化(一)压缩

    简单的应用场景:分页获取日志JSON信息. 很简单的实现,简单的记录一下 未压缩时候 使用PostMan请求http://localhost:34390/api/gpm/syslog/page?pag ...

  4. springboot 配置Ehcache

    Ehcache的基本配置说明我就不说了.小编记录一下在springboot中使用Ehcache的使用方法. 第一步:在classpath下引入配置文件ehcache.xml 代码如下: <ehc ...

  5. LSP

    Liskov Substitution Principle里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为 ...

  6. AJPFX总结方法的特点

    它可以实现独立的功能; 必须定义在类里面; 它只有被调用才会执行; 它可以被重复使用; 方法结束后方法里的对象失去引用;   如何定义一个功能,并通过方法体现出来: ① 明确该功能运算后的结果.明确返 ...

  7. GeoTools坐标转换(投影转换和仿射变换)

    GeoTools是在java下的gis开源软件,以下介绍坐标转换的两种方法:投影转换和仿射变换 投影转换 这里以xian80经纬度坐标转xian80,3度分带 111中央经线平面坐标为例 转换函数如下 ...

  8. Android 仿百度医生的智能分诊界面

    http://blog.csdn.net/jiang89125/article/details/49622853

  9. myeclipse 安装svn(subeclipsesite)插件

    (1)到官网下载subeclipsesite,下载最新的版本:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=224 ...

  10. 工作中Docker使用命令笔记

    docker安装与启动 安装docker [root@localhost /]# yum -y install docker-io 更改配置文件 [root@localhost /]# vi /etc ...