Dom学习笔记-(一)
一、概述
DOM(文档对象模型)是针对HTML和XML文档的一个API,其脱胎于DHTML。
DOM可以将任意HTML和XML文档描绘成一个由多层节点构成的结构。
每一个文档包含一个根节点-文档节点,每一个文档节点包含一个子节点-文档元素。
二、Node类型
DOM1定义了一个Node接口,其由所有节点的类型实现;在javascript中Node接口由Node类型实现(除IE)。
Javascript中的所有节点都继承Node类型,所以都共享一些基本的属性和方法。
1、nodeType:节点类型
数值(1-12)
Node.ELEMENT_NODE()//元素节点 Node.TEXT_NODE()//文本节点 Node.DOCUMENT_NODE()//文档节点 ......
2、nodeName和nodeValue:
对于元素节点name是元素的标签名,value永远是null;
对于文本节点name是"#text",value是文本内容;
3、parentNode和childNodes:
父节点和子节点,子节点childNodes中保存着nodeList对象(类数组对象);
//将nodelist对象复制成一个数组(实时的快照)
var convertToArray = function(nodes){
var arr = null;
try{
arr = Array.prototype.slice.call(nodes,);
}
catch(ex){
//兼容IE8或更早版本(其nodelist实现为一个com对象,故不能用js方法)
var len = nodes.length;
arr = [];
while(len){
arr.push(nodes[--len]);
}
arr.reverse();
}
return arr;
}
4、previousSibling、nextSibling、fristChild和lastChild:
5、ownerDocument:
其指向表示整个文档的文档节点。
三、操作节点
1、appendChild():
用于向childNodes列表尾端添加一个节点,并返回新增的节点;(如果添加的节点已经是文档中的一个节点,那其只是移动下位置)
2、insertBefore():
接受两个参数:第一个是要插入的节点,第二个是参照节点(将节点查到参照节点之前),如果参照节点是null,则跟appendChild()一样;
3、replaceChild():
接受两个参数:第一个要插入的节点,第二个是要替换的节点;返回要替换的节点;
4、removeChild():
接受一个参数:要移除的节点;返回要移除的节点;
(被替换或被移除的节点仍然为文档所有,只不过在文档中没了位置!怎么彻底去除节点?)
5、cloneNode():
接受一个参数:true或false,表示进行深复制还是浅复制,深复制就是复制节点及其整个子节点树,浅复制只复制其节点本身;
(复制只复制特性不负责属性,如事件处理程序;但IE有个bug,会复制事件处理程序)
6、normalize():
处理文档中的文本节点;在后代节点中查找,空文本节点删除,相邻的文本节点合并;
Dom学习笔记-(一)的更多相关文章
- Dom学习笔记
今天老师出了一道面试题目:取到表单里面的textbox的值,两种方法.知道一种,老师说的什么dom,我竟然不知道. 以前学html的时候,老师也重来没有提到dom的概念.javaScript只是学了一 ...
- JS DOM学习笔记
1.window对象代表当前浏览器窗口 2.使用window对象的属性.方法的时候可以省略window.例如:window.alert("hello")一般写成alert(&quo ...
- BOM、DOM学习笔记——JavaScript
1.BOM的概述 browser object modal :浏览器对象模型. 浏览器对象:window对象. Window 对象会在 <body> 或 <fram ...
- DOM学习笔记--入门1
HTML DOM 是关于如何获取.修改.添加或删除 HTML 元素的标准. 首先节点有很多种,不仅仅HTML元素是节点,尤其 要注意文本节点的存在. 根据 W3C 的 HTML DOM 标准,HTML ...
- HTML DOM 学习笔记
一.HTML DOM定义了所有HTML元素的对象和属性,以及访问他们的方法即:HTML DOM是关于如何获取,修改,添加,删除HTML元素的标准二.DOM节点1.分类整个文档是一个文档节点每个HTML ...
- DOM学习笔记(三)DOM元素的访问、修改与事件
访问 HTML 元素等同于访问节点,使用的是document对象下的数个getElement方法,然后再对返回的元素(或元素列表)进行具体内容的访问和修改,或者响应对应的事件是操作 一些 DOM 对象 ...
- DOM学习笔记(二)对象方法与属性
所有 HTML 元素被定义为对象,而编程接口(对象的访问)则是对象方法和对象属性. 事实上,常用的只用window对象及其子对象document对象,以及事件Event对象. Window 对象 Wi ...
- DOM学习笔记(一)DOM树
DOM 定义了访问和操作 HTML 文档的标准方法. HTML 文档中的所有内容都是节点,将 HTML 文档表达为树结构,称为节点树 HTML DOM 树 HTML DOM 是关于如何获取.修改.添加 ...
- DOM学习笔记(思维导图)
导图
随机推荐
- Unicode编码及其实现:UTF-16、UTF-8,and more
http://blog.csdn.net/thl789/article/details/7506133
- 5 Things They Never Tell You About Making iPhone Apps
http://blog.teamtreehouse.com/5-things-they-never-tell-you-about-making-iphone-apps So, you've decid ...
- 用Java对xml文档进行遍历,更新,创建,删除
import java.io.File;import java.io.FileInputStream; import javax.imageio.stream.FileImageInputStream ...
- Android主题切换方案总结
所谓的主题切换,就是能够根据不同的设定,呈现不同风格的界面给用户,也就是所谓的换肤. 1.将主题包(图片与配置)存到SD卡上(可通过下载或手动放入指定目录),在代码里强制从本地文件创建图片与配置文字大 ...
- base查找方法的实现JAVA
import java.util.List; import java.util.ArrayList; import java.util.Scanner; /*在一个有序数组中查找一个数的过程,模拟二分 ...
- c语言冒泡排序,指针,数组
冒泡排序算法的运作如下: 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. 针对所有的元素重复 ...
- Ubuntu14.04服务器安装ftp
随笔记录一下Ubuntu下安装ftp 1.远程连接登录服务器之后,输入sudo apt-get update 并回车.如果不运行该命令,直接安装vsftpd,可能会出现有一些软件包无法下载. 2.输入 ...
- tcl/tk实例详解——返回一个文件夹下所有文件的绝对路径
http://blog.csdn.net/dulixin/article/details/2133840 #所有代码如下,使用注释的方式讲解脚本#修改好文件夹和保存结果路径,可以把本文件直接拷贝进tc ...
- sql 判断表是否存在
if object_id(N'tablename',N'U') is not nulldrop table tablenamego if exists (select * from sysobject ...
- 万网免费主机wordpress快速建站教程-域名申请
在上一篇文章中,小伙伴们已经申请好了万网的免费主机,接下来教大家如何申请域名. 由于万网免费主机要绑定在阿里备案的域名,现在以万网的域名注册为例子. 首先进入万网域名注册页面(http://www.n ...