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组织推荐的处理可扩展标志语言的标准编程接口.在网页上 ...
随机推荐
- 进一步丰富和简化表单管理的组件:form.js
上文<简洁易用的表单数据设置和收集管理组件>介绍了我自己的表单管理的核心内容,本文在上文的基础上继续介绍自己关于表单初始值获取和设置以及表单数据提交等内容方面的做法,上文的组件粒度很小,都 ...
- QTableWidget详解(样式、右键菜单、表头塌陷、多选等)
在Qt的开发过程中,时常会用到表单(QTableWidget)这个控件,网上的资料不少,但是都是最基本的,有一些比较经常遇到的问题也说得不太清楚.所以,今天就在这里总结一下! 以下为个人模拟Windo ...
- C# 超时工具类 第二版
附源码,没有附测试demo 之前的工具类:C# 给某个方法设定执行超时时间 /// <summary> /// 超时工具 /// </summary> public class ...
- 实用的CSS3属性和使用技巧
CSS可以改进网站的设计并且开拓网站设计更多的可能性,可以令你的网页更具吸引力.对于前端开发者.网站设计师来说,掌握并熟练应用CSS是一项必不可少的技能. 下面列出了一些非常实用的CSS3属性和使用技 ...
- JS 常用验证REG
不错的JS验证~~~~~~~~~~~~~~~~~~~~~~~~~ 用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false: */ function i ...
- Java 四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端执行一个异步任务你还只是如下new T ...
- 《More Effective C#》读书笔记
<More Effective C#>这本书,大概是四年前看完的,但只整理了一部分读书笔记,后面有时间的话,会陆续补充的. More Effective C# :使用泛型 More Eff ...
- js实现右下角可关闭最小化div
本实例使用Javascript实现右下角可关闭最小化div,可以用于展示推荐内容,效果预览网址:http://keleyi.com/keleyi/phtml/xuanfudiv/3.htm效果图片: ...
- canvas绘制经典折线图(一)
最终效果图如下: 实现步骤如下:注-引用了jQuery HTML代码 <!doctype html> <html lang="en"> <head&g ...
- js 模块化的一些理解和es6模块化学习
模块化 1 IIFE 2 commonjs 3 浏览器中js的模块化 4 简单理解模块加载器的原理 5 es6 之前在参加百度前端技术学院做的小题目的时候,自己写模块的时候 都是写成立即调用表达式( ...