DOM是Document Object Model文档对象模型的缩写。依据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你能够訪问页面其它的标准组件。

Node接口的特性和方法

特性/方法 类型/放回类型 说明
nodeName String 节点的名字;依据节点的类型而定义
nodeValue String 节点的值。依据节点的类型而定义
nodeType Number 节点的类型常量值之中的一个
ownerDocument Document 指向这个节点所属的文档
firstChild Node 指向在childNodes列表中的第一个节点
lastChild Node 指向在childNodes列表中的最后一个节点
childNodes NodeList 全部子节点的列表
previousSibling Node 指向前一个兄弟节点;假设这个节点就是第一个兄弟节点。那么该值为null
nextSibling Node 指向后一个兄弟节点;假设这个节点就是最后一个兄弟节点,那么该值为null
hasChildNodes() Boolean 当childNodes包括一个或多个节点时。返回真
attributes NamedNodeMap 包括了代表一个元素的特性的Attr对象。仅用于Element节点
appendChild(node) Node 将node加入到childNodes的末尾
removeChild(node) Node 从childNodes中删除node
replaceChild (newnode, oldnode) Node 将childNodes中的oldnode替换成newnode
insertBefore (newnode, refnode) Node 在childNodes中的refnode之前插入newnode

hasChildNodes() -- 查看是否存在子节点

该方法用来检查一个元素是否有子节点,返回值是 true 或 false.

var booleanValue = element.hasChildNodes();

文本节点和属性节点不可能再包括不论什么子节点,所以对这两类节点使用 hasChildNodes 方法的返回值永远是 false.

replaceChild() -- 节点替换

把一个给定父元素里的一个子节点替换为另外一个子节点

var reference = element.replaceChild(newChild,oldChild);

返回值是一个指向已被替换的那个子节点的引用指针。

假设被插入的子节点还有子节点,则那些子节点也被插入到目标节点中

getAttribute()   -- 查找属性节点

返回一个给定元素的一个给定属性节点的值

var attributeValue = element.getAttribute(attributeName);

给定属性的名字必须以字符串的形式传递给该方法。

给定属性的值将以字符串的形式返回,假设给定属性不存在,getAttribute() 将返回一个空字符串.

setAttribute() -- 设置属性节点

将给定元素节点加入一个新的属性值或改变它的现有属性的值。

 element.setAttribute(attributeName,attributeValue);

属性的名字和值必须以字符串的形式传递给此方法

假设这个属性已经存在。它的值将被刷新;

假设不存在,setAttribute()方法将先创建它再为其赋值。

createElement() -- 创建新元素节点

依照给定的标签名创建一个新的元素节点。

方法仅仅有一个參数:将被创建的元素的名字。是一个字符串.

var reference = document.createElement(element);

方法的返回值:是一个指向新建节点的引用指针。返回值是一个元素节点。所以它的 nodeType 属性值等于 1。

新元素节点不会自己主动加入到文档里,新节点没有 nodeParent 属性。它仅仅是一个存在于 JavaScript 上下文的对象.

var pElement = document.createElement("p");

createTextNode() -- 创建新文本节点

创建一个包括着给定文本的新文本节点。

这种方法的返回值是一个指向新建文本节点引用指针。

var textNode = document.createTextNode(text);

方法仅仅有一个參数:新建文本节点所包括的文本字符串

方法的返回值:是一个指向新建节点的引用指针。它是一个文本节点,所以它的 nodeType 属性等于 3.

新元素节点不会自己主动加入到文档里,新节点没有 nodeParent 属性

var pElementText=document.createElement("li");
var textElement=document.createTextNode("南京");
pElementText.appendChild(textElement);

appendChild() -- 插入节点(1)

为给定元素添加一个子节点:                                   

   var newreference = element.appendChild(newChild).              

   给定子节点 newChild 将成为给定元素节点 element 的最后一个子节点。

方法的返回值是一个指向新增子节点的引用指针。

该方法通常与 createElement() createTextNode() 配合使用

新节点能够被追加给文档中的不论什么一个元素

 var newliElement=document.createElement("li");
var textNode=document.createTextNode("北京");
newliElement.appendChild(textNode);
document.body.appendChild(newliElement); var liElement=document.getElementsByTagName("li");
var textValue=liElement[0].firstChild.nodeValue;
alert(textValue);

insertBefore() -- 插入节点(2)

把一个给定节点插入到一个给定元素节点的给定子节点的前面

var reference =  element.insertBefore(newNode,targetNode);

节点 newNode 将被插入到元素节点 element 中并出如今节点 targetNode 的前面.

节点 targetNode 必须是 element 元素的一个子节点。

该方法通常与 createElement() 和 createTextNode() 配合使用

<ul id="city">     <li value="beijing^" id="beijing">北京</li>        </ul>
<ul id="city01"> <li value="shanghai^" id="shanghai">上海</li> </ul>
//获取父节点
var parentCityNode=document.getElementById("city");
//获取子节点
var beijingNode=document.getElementById("beijing");
var shanghaiNode=document.getElementById("shanghai");
//插入
parentCityNode.insertBefore(shanghaiNode,beijingNode);

removeChild() -- 删除子节点

从一个给定元素里删除一个子节点

var reference = element.removeChild(node);

返回值是一个指向已被删除的子节点的引用指针。

某个节点被removeChild()方法删除时,这个节点所包括的全部子节点将同一时候被删除。

<ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>
var ulElement=document.getElementById("city");
var liElement=document.getElementById("beijing");
ulElement.removeChild(liElement);

假设想删除某个节点,但不知道它的父节点是哪一个。parentNode 属性能够帮忙。

<ul id="city">  <li value="beijing^" id="beijing">北京</li> </ul>
var liElement=document.getElementById("beijing");
var parentElement=liElement.parentNode;
parentElement.removeChild(liElement);

ChildNodes -- 遍历节点树

ChildNodes:返回一个数组,这个数组由给定元素节点的子节点构成:

var nodeList = node.childNodes;

文本节点和属性节点都不可能再包括不论什么子节点,所以它们的 ChildNodes 属性永远会返回一个空数组。

假设想知道某个元素有没有子节点,能够用 hasChildNodes 方法。

假设想知道某个元素有多少个子节点。能够用 childNodes 数组的 length 属性。

childNodes 属性是一个仅仅读属性。

firstChild -- 获取第一个子节点

firstChild:该属性返回一个给定元素节点的第一个子节点,返回这个节点对象的指针。

var reference = node.firstChild;

文本节点和属性节点都不可能包括不论什么子节点,所以它们的 firstChild 属性永远会返回 null。

某个元素的 firstChild 属性等价于这个元素的 childNodes 节点集合中的第一个节点,即:

var reference = node.ChildNodes[0];

firstChild 属性是一个仅仅读属性。

lastChild:获取最后一个子节点。

nextSibling: 返回一个给定节点的下一个兄弟节点。

previousSibling:返回一个给定节点的上一个兄弟节点。

parentNode:返回一个给定节点的父节点。

parentNode 属性返回的节点永远是一个元素节点,由于仅仅有元素节点才有可能包括子节点。

document 节点的没有父节点。

Document 对象的集合

集合 描写叙述
all[] 提供对文档中全部 HTML 元素的訪问。

anchors[] 返回对文档中全部 Anchor 对象的引用。
applets 返回对文档中全部 Applet 对象的引用。

forms[] 返回对文档中全部 Form 对象引用。

images[] 返回对文档中全部 Image 对象引用。

links[] 返回对文档中全部 Area 和 Link 对象引用。

Document 对象的属性

属性 描写叙述
body 提供对 <body> 元素的直接訪问。

对于定义了框架集的文档,该属性引用最外层的 <frameset>。

cookie 设置或返回与当前文档有关的全部 cookie。
domain 返回当前文档的域名。
lastModified 返回文档被最后改动的日期和时间。
referrer 返回加载当前文档的文档的 URL。
title 返回当前文档的标题。
URL 返回当前文档的 URL。

Document 对象的方法

方法 描写叙述
close() 关闭用 document.open() 方法打开的输出流,并显示选定的数据。
getElementById() 返回对拥有指定 id 的第一个对象的引用。

getElementsByName() 返回带有指定名称的对象集合。

getElementsByTagName() 返回带有指定标签名的对象集合。
open() 打开一个流,以收集来自不论什么 document.write() 或 document.writeln() 方法的输出。
write() 向文档写 HTML 表达式 或 JavaScript 代码。

writeln() 等同于 write() 方法,不同的是在每一个表达式之后写一个换行符。

javaScript DOM编程经常使用的方法与属性的更多相关文章

  1. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  2. JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析

    先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...

  3. JavaScript DOM 编程艺术(第2版)读书笔记(1)

    JavaScript 简史 JavaScript 是Netscape公司与Sun公司合作开发的.在 JavaScript 1.0发布时,Netscape Navigator主宰着浏览器市场.微软在推出 ...

  4. JavaScript DOM编程艺术学习笔记(一)

    嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...

  5. JavaScript DOM编程艺术第一章:JavaScript简史

    本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助, ...

  6. 《javascript dom编程艺术》笔记(一)——优雅降级、向后兼容、多个函数绑定onload函数

    刚刚开始自学前端,如果不对请指正:欢迎各位技术大牛指点. 开始学习<javascript dom编程艺术>,整理一下学习到的知识.今天刚刚看到第六章,记下get到的几个知识点. 优雅降级 ...

  7. JavaScript DOM编程艺术读后感(1)—— 平稳退化

    最近,在读<JavaScript DOM编程艺术(第二版)>这本书,想着将自己的读后感记录下来,作为记忆吧. 其实我并不是最近才刚开始读这本书的,我读了有一段时间了.我是一名web前端开发 ...

  8. Java web JavaScript DOM 编程

     JavaScript DOM 编程 (1).DOM概述及分类 (2).DOM结构模型:XML DOM 和 HTML DOM 关系? (3).结点,结点树,结点属性与方法? 1.DOM是什么? d ...

  9. javascript Dom 编程

     javascript Dom  编程 知识概要: (1)Dom是什么? (2)Dom结构模型 (3)XML DOM和 HTML DOM (4)NODE接口的特性和方法 (5)DOM结点的常用属性 ...

随机推荐

  1. [CSS] Build a Fluid Loading Animation in CSS

    In this lesson, we will create a fluid loading animation using Animations and Transformations in CSS ...

  2. 硬件——nrf51822第一篇,GPIO的使用

    未完,待续...... 本实现是基于一个开发箱,包括:综合应用开发系统主板XT-EDU-AK   1套: 手持终端系统 XT-EDU-HK 1套: GPIO操作 工程: 这是一个关于流水灯的程序: 我 ...

  3. 编程一一C语言的问题,cpu中的专用寄存器

  4. (转)如何启动或关闭数据库的归档(ARCHIVELOG)模式

    转自:http://www.eygle.com/archives/2004/10/oracle_howtoeci.html Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非 ...

  5. 【AtCoder Beginner Contest 074 C】Sugar Water

    [链接]h在这里写链接 [题意] 让你在杯子里加糖或加水. (4种操作类型) 糖或水之间有一定关系. 糖和水的总量也有限制. 问你糖水浓度的最大时,糖和糖水的量. [题解] 写个dfs就好. 每次有4 ...

  6. [React Intl] Render Content Based on a Number using react-intl FormattedMessage (plural)

    Using the react-intl FormattedMessage component, we’ll learn how to render content conditionally in ...

  7. Android NetworkOnMainThreadException异常

    看名字就应该知道,是网络请求在MainThread中产生的异常 先来看一下官网的解释: Class Overview The exception that is thrown when an appl ...

  8. 【例题 6-6 UVA - 679】Dropping Balls

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 直接模拟会超时. 根据奇偶的规律.直接判断会往哪里走就好. 每个二叉树的节点.必然是左边和右边走的次数对半分.->奇数左边多一 ...

  9. Java抽象类中的抽象方法的参数对应的子类的方法的参数必须一致吗?

    同学你这个涉及了两个概念. 一个是抽象方法,一个是方法重载. 先说下概念: 抽象方法就是abstract描述的方法,它本身不含实现,必须由子类实现. 方法重载则是同一个方法名,但是参数类型或者参数个数 ...

  10. 【物理/数学】—— 概念的理解 moment、momentum

    moment:矩,momentum:[物] 动量:动力:冲力: 数学意义上的 moment(矩)概念其实源自于物理范畴.首先我们来介绍物理学意义上的矩(Momentum)的概念. 1. 物理学意义上的 ...