DOM document object model learn
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的更多相关文章
- javascript之DOM(Document Object Model) 文档对象模型
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- DOM(Document Object Model)
DOM(Document Object Model): 结点的概念:整个文档就是由层次不同的多个节点组成,可以说结点代表了全部内容. 结点类型 1.元素结点 对于元素结点的n ...
- DOM (Document Object Model)文档对象模型
[理解下DOM] DOM——Document Object Mode.DOM是网页上XHTML中文档正文标题啊.段落.列表.样式.以及ID/class等所有其他数据的一个内部表示.我自己的理解是将网页 ...
- DOM - Document Object Model
Document Object Model
- BOM—Browser Object Model and DOM—Document Object Model
浏览器对象模型的内涵是每个页面都是一个window对象,而dom是document为基准的模型,而document与wimdow.document指向相同,所以可以这么理解,bom模型的定义是包括do ...
- XML DOM (Document Object Model) 定义了访问和操作 XML 文档的标准方法。
XML DOM DOM 把 XML 文档视为一种树结构.通过这个 DOM 树,可以访问所有的元素.可以修改它们的内容(文本以及属性),而且可以创建新的元素.元素,以及它们的文本和属性,均被视为节点. ...
- DOM (文档对象模型(Document Object Model))
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...
- 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 ...
- DOM (文档对象模型(Document Object Model)
DOM(文档对象模型(Document Object Model) 文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上 ...
随机推荐
- iOS的一些面试题分析总结(1)
本篇主要说一下多线程的东西,因为东西比较多,所以直接拿出一整个篇幅来说它了. 3. 多线程的底层实现? 1.先说一下什么是进程,什么是线程.什么是多线程. 进程是资源分配的单位,线程是调度运行的基本单 ...
- 多个提高C#编程能力的建议
1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4 ...
- browserCaps与浏览器功能设置
使用 Web.config 文件中的 browserCaps 元素来定义浏览器的行为在 .NET Framework 2.0 中被否决,但仍受支持.此元素中的数据与浏览器定义文件 (.browser) ...
- Redis所需内存 超过可用内存怎么办
爬虫和转载请注明原文地址:博客园蜗牛 http://www.cnblogs.com/tdws/p/5727633.html Redis所需内存 超过可用内存怎么办 Redis修改数据多线程并发—Red ...
- Suggestion(搜索建议)产品和技术
今天来简单聊聊Suggestion产品 什么是Suggestion服务? 一图胜千言: 当你想要搜索某个长词语或者一句话输入部分时,Suggestion服务预测你极大可能的候选项,并罗列出来,供你选择 ...
- SharePoint创建web application出现“The password supplied with the username was not correct”错误的解决方法
平台环境 Windows Server 2012 R2 Standard, SharePoint Server 2010, Microsoft SQL Server 2012 (SP1) 问题描述 在 ...
- input输入框提示语
<input id="username" name="username" type="text" placeholder=" ...
- Home / Python MySQL Tutorial / Calling MySQL Stored Procedures in Python Calling MySQL Stored Procedures in Python
f you are not familiar with MySQL stored procedures or want to review it as a refresher, you can fol ...
- mybatis 中的where标签
mybatis中的where标签可以去除 开头的 and 或者 or 但是放在后面的不行 失败的: <select id="countNotesByParam" parame ...
- sql执行循序
(8) select (9) distinct (11) top 1 (6) Table1.id,COUNT(Table1.name) as nameCount (1) from Table1 (3) ...