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组织推荐的处理可扩展标志语言的标准编程接口.在网页上 ...
随机推荐
- 在Mac上开发使用yeoman构建Asp.net core项目并且实现分层引用
1.Yeoman? yeoman是一个自动化脚手架工具.它提供很多generator,generator相当于VisualStudio的模板,用来初始化项目.更多的就不多说了,写一遍都写不完,自己看吧 ...
- WindowsCE project missing Microsoft.CompactFramework.CSharp.targets in Visual Studio 2008
00x0 前言 之前在Windows 7系统中开发的WindowsCE项目,最近换成Windows 10系统,需要将项目进行修改,打开项目后提示如下错误: 无法读取项目文件"App.cspr ...
- HTML5知识初级题目
在 HTML5 中,onblur 和 onfocus 是: 在 HTML5 中,哪个元素用于组合标题元素? HTML5 中不再支持下面哪个元素? HTML5 中不再支持下面哪个元素? HTML5 之前 ...
- SQL存储过程分页(通用的拼接SQL语句思路实现)
多表通用的SQL存储过程分页 案例一: USE [Community] GO /****** Object: StoredProcedure [dbo].[Common_PageList] Scrip ...
- mybatis中的#和$的区别(转)
#相当于对数据 加上 双引号,$相当于直接显示数据 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sq ...
- POI导入导出
一.使用POI导出Execl表格 需要的jar包 package cn.yxj.poi; import java.io.FileOutputStream; import java.util.Date; ...
- Hadoop中MR程序的几种提交运行模式
本地模型运行 1:在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行 ----输入输出数据可以放在本地路径下(c:/wc ...
- 如何使用grunt压缩js文件
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...
- asp.net mvc 自定义pager封装与优化
asp.net mvc 自定义pager封装与优化 Intro 之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, 自 ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(三)显示地图坐标系模块
config.xml文件的配置如下: <widget left="3" bottom="3" config="widgets/Coordinat ...