DOM
对W3C DOM而言,HTML文档中任何一样东西都是一个节点,而且节点之间是有层次的。
如<p>I am a JavaScript hacker.</p>
有两个节点,一个是P标签的元素节点,一个是文字节点,P节点包含文本节点。
按照这样的节点层次,所有节点构成了一棵文档树。
节点类型
文档节点 nodeType :9
元素节点 nodeType :1
文本节点 nodeType :3
属性节点 nodeType :2
注释节点 nodetype :8

寻找元素:
长途搜索:document.getElementById and document.getElementByTagName
短途查找:parentNode,firstChild,lastChild,previousSibling,nextSibling
每一个节点都拥有包含节点列表的两个属性,childNodes[] and children[]
它们之间的不同在于,children[]仅包含类型为元素节点的子节点,不包含文本节点,
而前者包含所有的子节点。
firstChild最常用的地方就是访问元素的文本内容。
<p>I am a JavaScript Hacker.</p>
var par = [the paragragh];
var text = par.firstChild.nodeValue;
每一个节点都有一些属性,并分别包含一些节点的信息,它们是nodeName,nodeValue,
nodeType,and tagName.
nodeName是大写的HTML标签。
对于文本节点,nodeValue就是其实际包含的文本内容。
对于属性节点,nodeValue就是其属性的值,
而对文档节点和元素节点不可用,即返回undefined.
修改文档结构
w3c dom 提供了4种方法来修改文档树,常用的是
appendChild and insertbefore
removeChild and replaceChild比较少用。
createElement() 和 createTextNode()
cloneNode 可以用来克隆一个节点,它能对节点做一个完美的复制。
innerHTML 原本是微软专有的属性,现在获取了所有流行的浏览器的支持。
它以字符串的形式返回一个元素的HTML内容,它也允许你把新的HTML内容写入一个元素。
而且使用它创建元素的速度要优于使用其他的方法。
属性
它也是节点类型,总是以键值对的形式出现。
W3CDOM 提供了两个方法 getAttribute() setAttribute()
.它位可以用玩HTML元素包含的任何属性,甚至是自定义的属性。

在HTML中空格,換行和TAB都是文本空节点,这样使nextSibling和previousSibling就没有了用处。
document.forms[0].elements[]包含文档中每一个表单的所有表单域。
JS常用修改CSS的方式:
1.修改元素的STYLE属性,(element.style.margin='10%')
2.修改元素的class或id(element.className='error')
CSS中的含有破折号的属性如font-size之类的,在对应的JS中会变成驼峰表示的属性。例如
element.style.fontSize='120%';
margin-left <> marginLeft
添加与移除class
obj.className += ' errorMessage';
this.className = this.className.replace(/errorMessage,'');

通过XMLHttpRequest对象发送HTTP请求进行数据检索需要如下步骤:
1.创建一个XMLHttpRequest对象
2.提示该对象打开特定的文件(open)
3.告诉该对象如何处理服务器返回的数据(注册onreadystatechange事件处理程序)
4.给出指令让该对象发送请求(send)

DOM document object model learn的更多相关文章

  1. javascript之DOM(Document Object Model) 文档对象模型

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  2. DOM(Document Object Model)

    DOM(Document Object Model):    结点的概念:整个文档就是由层次不同的多个节点组成,可以说结点代表了全部内容.    结点类型        1.元素结点 对于元素结点的n ...

  3. DOM (Document Object Model)文档对象模型

    [理解下DOM] DOM——Document Object Mode.DOM是网页上XHTML中文档正文标题啊.段落.列表.样式.以及ID/class等所有其他数据的一个内部表示.我自己的理解是将网页 ...

  4. DOM - Document Object Model

    Document Object Model

  5. BOM—Browser Object Model and DOM—Document Object Model

    浏览器对象模型的内涵是每个页面都是一个window对象,而dom是document为基准的模型,而document与wimdow.document指向相同,所以可以这么理解,bom模型的定义是包括do ...

  6. XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。

    XML DOM DOM 把 XML 文档视为一种树结构.通过这个 DOM 树,可以访问所有的元素.可以修改它们的内容(文本以及属性),而且可以创建新的元素.元素,以及它们的文本和属性,均被视为节点. ...

  7. DOM (文档对象模型(Document Object Model))

    文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...

  8. JAVA读取XML,JAVA读取XML文档,JAVA解析XML文档,JAVA与XML,XML文档解析(Document Object Model, DOM)

    使用Document Object Model, DOM解析XML文档 也可参考我的新浪博客:http://blog.sina.com.cn/s/blog_43ac5543010190w3.html ...

  9. DOM (文档对象模型(Document Object Model)

    DOM(文档对象模型(Document Object Model) 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上 ...

随机推荐

  1. Hexo折腾记

    如果时间可以静止,我希望就停在此刻. 前言 博主之前也有折腾wordpress和jekyll可对于一个前端er来说,wordpress让人没法尽兴,因为不知道该如何添加自己的代码.而jekyll就太麻 ...

  2. AngularJS----基本操作

    之前的学习基本了解了AngularJS的常用方法,下来就继续学习吧. 创建自定义的指令 除了内置指令,我们可以创建自定义指令.通过.directive函数来添加. <div change-dat ...

  3. QTableView中修改某个单元格或者行或者列内容颜色

    QTableView的单元格内容实现还是继承了TableViewModel类的data(const QModelIndex &index, int role) const函数,那个设置颜色的问 ...

  4. 跨平台运行ASP.NET Core 1.0

    前言 首先提一下微软更名后的叫法: ASP.NET 5 更名为 ASP.NET Core 1.0 .NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为  ...

  5. sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )

    通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码. 首先,表结构如下.   其次,在我当前D盘中有个文本文件名为2.txt的文件. 在数据库中,可以这样通过一句代码插入. Bulk in ...

  6. Ehcache 缓存使用

    在开发高并发量,高性能的网站应用系统时,缓存Cache起到了非常重要的作用.本文主要介绍EHCache的使用,以及使用EHCache的实践经验. 笔者使用过多种基于Java的开源Cache组件,其中包 ...

  7. MyEclipse或者Eclipse内存溢出问题

    对于一些项目,我们经常会遇到内存溢出的问题,这个时候我们就需要进行设置JDK的各个内存的大小了. 如果是运行项目以后出现问题的话,那么主要还是jdk或者是tomcat的内存问题,至于网上说的xxx.i ...

  8. Eclipse导入项目出现红色叹号的解决方法

    情景: 我在另一台电脑开发Java Web项目,开发环境为 JDK 1.7,Tomcat v7.0,然后导入另一台电脑上,开发环境为为 JDK 1.8,Tomcat v8.0. 问题: 导入项目出现红 ...

  9. Session中load/get方法的详细区别

    Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...

  10. hibernate理解

    SSH框架: Struts框架, 基于mvc模式的应用层框架技术! Hibernate,基于持久层的框架(数据访问层使用)! Spring,创建对象处理对象的依赖关系以及框架整合! Dao代码,如何编 ...