html 是基于Xml的文档规范。是一种特殊的xml文档,这一点很重要

1.xml 文档的操作,java,c#,...各种语言都提供了很好的api对文档进行解析,操作。当然js 也不例外,提供了一系列的方法。

具体的方法,w3c 上都有讲解。Document,Node,   ElementNode,TextNode,AttributeNode,CommentNode,NodeList 这些都是xml的属性

xml 里面每个节点都是一个node对象,

2.html 是一种特殊的xml文档,那么特殊的地方在哪?

1) html 封装好了一系列的对象,比如 image,Table,Form,Input,Select...等等

我们可以用new Image() 这种方式去创建对象

html 里每个节点都是element对象,

2) html dom 提供了更方便的方法去访问节点, xxx.className, xxxx.id 等等,

在标准的xml 文档中,应该用getAtrribute() 去访问。  当然htm dom 也可以用这种方式去访问,因为它是xml

3.在加载html时,浏览器会创建全局的window对象,然后下载html文档,创建document对象,并把这个document对象赋值给全局的window对象。

这里创建的document 是 HTMLDocument , HTMLDocument 接口对 DOM Document 接口进行了扩展,定义 HTML 专用的属性和方法。在新的规范中

html中的元素都是htmlelment对象,HTMLElement 对象继承了 Node 和 Element 对象的标准属性。  意思就是 span div这些节点 可以使用node对象和element对象的方法

xml dom 与htm dom 在用途上相互补充,

4.tips

document.getElmentsByTagName  返回的是动态的Nodelist ,document.querySeletorAll() 返回的是静态的Nodelist

Nodelist 是xml dom 属性,以上二个方法也属于Xml Dom。

动态是指:

HTMLCollection、NodeList以及NamedNodeMap这三个集合都是“动态的”,每当文档发生变化时,他们都会更新。他们将始终保持这最新、最准确的消息。且看以下程序:

           var divs = document.getElementsByTagName("div"),

                i,

                div;

            for (i = 0; i < divs.length; i++) {

                div = document.createElement("div");

                document.body.appendChild(div);

            }

以上代码是个死循环!

另外htmlcollections ,是返回一些htmlelement集合,比如 获取select 下面option, form 下面的表单元素等。

5.htmelement 都有nodetype属性,如下

元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

window.Node 有个全局的函数,里面包含了全部NodeType 静态值

相信 有了以上的指导思想,在理解很多方法,模型上很有帮助

htm Dom对象与 Xml Dom对象的理解的更多相关文章

  1. 雷林鹏分享:XML DOM

    XML DOM DOM(Document Object Model 文档对象模型)定义了访问和操作文档的标准方法. XML DOM XML DOM(XML Document Object Model) ...

  2. xml dom minidom

    一. xml相关术语: 1.Document(文档): 对应一个xml文件 2.Declaration(声明): <?xml version="1.0" encoding=& ...

  3. XML DOM学习

    XML 文档对象模型定义访问和操作XML文档的标准方法. XML DOM 是 XML Document Object Model 的缩写,即 XML 文档对象模型. DOM 将 XML 文档作为一个树 ...

  4. python use dom to write xml file

    #encoding:utf-8 ''' write xml in dom style ''' from xml.dom.minidom import Document doc = Document() ...

  5. python模块:xml.dom.minidom

    """Simple implementation of the Level 1 DOM. Namespaces and other minor Level 2 featu ...

  6. Javascript 解析字符串生成 XML DOM 对象。

    Javascript 接收字符串生成 XML DOM 对象.实测对 Firefox .IE6 有效.可用于解析 ajax 的服务器响应结果,也可用于解析自定义字符串.​1. [代码]函数   ppt模 ...

  7. js ajax 传送xml dom对象到服务器

    客户端代码 1 <script> var isie = true; var xmlhttp = null; function createXMLHTTP() {//创建XMLXMLHttp ...

  8. XML DOM - Range 对象

    Range对象 Range对象表示文档的连续范围区域,如用户在浏览器窗口中用鼠标拖动选中的区域.   dom标准Range对象 在IE中使用TextRange对象 range对象常用的建立方法在开发中 ...

  9. dom对象详解--document对象(一)

     document对象 Document对象代表整个html文档,可用来访问页面中的所有元素,是最复杂的一个dom对象,可以说是学习好dom编程的关键所在. Document对象是window对象的一 ...

随机推荐

  1. BZOJ 1036:树的统计Count(树链剖分)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1036 题意:中文题意. 思路:也是普通的树链剖分.唯一注意的点是在change函数中 while(t ...

  2. 《深度探索C++对象模型》1

    C++对象模型: 多重继承模型示意: 第二章:构造函数 语意学 基类和派生类: Bear yogi; ZooAnimal franny=yogi; 在这里,很容易理解合成的copy构造函数将vptr指 ...

  3. 20150602_Andriod 向窗体传递参数

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:too ...

  4. 第十二届浙江省大学生程序设计大赛-Beauty of Array 分类: 比赛 2015-06-26 14:27 12人阅读 评论(0) 收藏

    Beauty of Array Time Limit: 2 Seconds Memory Limit: 65536 KB Edward has an array A with N integers. ...

  5. 第十二届浙江省大学生程序设计大赛-Ace of Aces 分类: 比赛 2015-06-26 14:25 12人阅读 评论(0) 收藏

    Ace of Aces Time Limit: 2 Seconds Memory Limit: 65536 KB There is a mysterious organization called T ...

  6. 遍历寻找json中的重复数据

    string str = "[{\"ID\":1,\"Data\":{\"subjectCode\":\"1\" ...

  7. U3D刚体测试3(constraints)

    程序这边的接口: mRigidbody.constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.Freeze ...

  8. Adam 演示demo内容整理

    在这个6个多G的演示demo中,还是发现了不少东西. 这篇文章八卦向的东西比较多,不过支持abc格式的话,做Cutscene一下子多了很多可以用的东西. 1.在插件目录下发现了ABC格式的导入dll. ...

  9. JAVA基础知识之IO——对象序列化

    对象序列化 Java对象序列化(Serialize)是指将Java对象写入IO流,反序列化(Deserilize)则是从IO流中恢复该Java对象. 对象序列化将程序运行时内存中的对象以字节码的方式保 ...

  10. 华东交通大学2016年ACM“双基”程序设计竞赛 1002

    Problem Description 今天小学弟又训练完了,但是小学弟又不想看球赛,于是小学弟看马赛了.他发现马鞍是一个奇怪的东西.于是小学弟根据马鞍定义了一种马鞍数:在一个二位矩阵中,马鞍数在当前 ...