javaScript DOM编程经常使用的方法与属性
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编程经常使用的方法与属性的更多相关文章
- 读书笔记:JavaScript DOM 编程艺术(第二版)
读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...
- JavaScript DOM 编程艺术·setInterval与setTimeout的动画实现解析
先贴上moveElement()函数的大纲,为了方便观看,删了部分代码,完整版粘到文章后面. function moveElement(elementID,final_x,final_y,interv ...
- JavaScript DOM 编程艺术(第2版)读书笔记(1)
JavaScript 简史 JavaScript 是Netscape公司与Sun公司合作开发的.在 JavaScript 1.0发布时,Netscape Navigator主宰着浏览器市场.微软在推出 ...
- JavaScript DOM编程艺术学习笔记(一)
嗯,经过了一周的时间,今天终于将<JavaScript DOM编程艺术(第2版)>这本书看完了,感觉受益匪浅,我和作者及出版社等等都不认识,无意为他们做广告,不过本书确实值得一看,也值得推 ...
- JavaScript DOM编程艺术第一章:JavaScript简史
本系列的博客是由本人在阅读<JavaScript DOM编程艺术>一书过程中做的总结.前面的偏理论部分都是书中原话,觉得有必要记录下来,方便自己翻阅,也希望能为读到本博客的人提供一些帮助, ...
- 《javascript dom编程艺术》笔记(一)——优雅降级、向后兼容、多个函数绑定onload函数
刚刚开始自学前端,如果不对请指正:欢迎各位技术大牛指点. 开始学习<javascript dom编程艺术>,整理一下学习到的知识.今天刚刚看到第六章,记下get到的几个知识点. 优雅降级 ...
- JavaScript DOM编程艺术读后感(1)—— 平稳退化
最近,在读<JavaScript DOM编程艺术(第二版)>这本书,想着将自己的读后感记录下来,作为记忆吧. 其实我并不是最近才刚开始读这本书的,我读了有一段时间了.我是一名web前端开发 ...
- Java web JavaScript DOM 编程
JavaScript DOM 编程 (1).DOM概述及分类 (2).DOM结构模型:XML DOM 和 HTML DOM 关系? (3).结点,结点树,结点属性与方法? 1.DOM是什么? d ...
- javascript Dom 编程
javascript Dom 编程 知识概要: (1)Dom是什么? (2)Dom结构模型 (3)XML DOM和 HTML DOM (4)NODE接口的特性和方法 (5)DOM结点的常用属性 ...
随机推荐
- 洛谷 P1334 瑞瑞的木板
P1334 瑞瑞的木板 题目描述 瑞瑞想要亲自修复在他的一个小牧场周围的围栏.他测量栅栏并发现他需要N(1≤N≤20,000)根木板,每根的长度为整数Li(1≤Li≤50,000).于是,他神奇地买了 ...
- ASP.Net MVC Filter验证用户登录
一.Filter是什么 ASP.NetMVC模式自带的过滤器Filter,是一种声明式编程方式,支持四种过滤器类型,各自是:Authorization(授权),Action(行为),Result(结果 ...
- 20.SpringBoot 之 读取环境变量和绑定属性对象
转自:https://blog.csdn.net/catoop/article/details/50548009
- time and datetime
一.简述 我们在写代码的过程经常遇到时间模块,如果我们以后需要根据时间去筛选信息的话,那用户会更大,所以今天就来讲讲时间的两大模块:time & datetime 二.time模块 1.tim ...
- python opencv —— io(帧、图像、视频的读取与保存)
0. VideoCapture VideoCapture:构造函数: 常见成员函数: open:打开视频文件,或者捕获视频设备,该函数会首先调用 release() 函数以关闭已打开的文件或设备: P ...
- iOS_03_关键字、标识符、注释
一.学习语法之前的提醒 1. C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都一样,只是表现形式不太一样. 2. 就好像亚洲人和非洲人,大家都有人类的结构:两只手.两只脚.一个头,只是他 ...
- JS预解释的总结
预解释阶段发生在创建了堆内存,让代码执行之前,对当前作用域中带var和function的进行预解释 在浏览器解析执行代码的时候,会提前把带var和function的代码声明或定义,提前放在作用域的最前 ...
- SOAP消息结构
邵盛松 2012-5-22 一 SOAP消息结构 SOAP消息包括以下元素 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息,XML文件的顶层元素,代表该文件为SOAP消 ...
- Android 最火的高速开发框架AndroidAnnotations使用具体解释
Android 最火的高速开发框架androidannotations配置具体解释文章中有eclipse配置步骤.Android 最火高速开发框架AndroidAnnotations简介文章中的简介. ...
- js用button激活 Alert 元素关闭按钮的交互功能
js用button激活 Alert 元素关闭按钮的交互功能 一.总结 1.点(.)对应class,井号(#)对应id 2.jquery:amaze里面用的jquery,jquery熟悉之后,这些东西 ...