Javascript高级程序设计读书笔记(第10章 DOM)
第10章 DOM
10.1 节点层次
每个节点都有一个nodeType属性,用于表明节点的类型。任何节点类型必是下面中的一个:
- Node.Element_NODE(1);
- NODE.ATTRIBUTE_NODE(2);
- Node.TEXT_NODE(3);
- Node.CDATA_SECTION_NODE(4);
- Node.ENTITY_REFERENCE_NODE(5);
- Node.ENTITY_NODE(6);
- Node.PROCESSING_INSTRUCTION_NODE(7);
- Node.COMMENT_NODE(8);
- Node_DOCUMENT_NODE(9);
- Node.Document_TYPE_NODE(10);
- Node.DOCUMENT_FRAGMENT_NODE(11);
- Node.NOTATION_NODE(12);
每个节点都有childNoes属性,保存着一个NodeList对象。NodeList是一种类数组对象,用于保存一个组有序的节点。
每个节点都有一个parentNode属性,该属性指向文档树中的父节点。
childNodes中的每个节点之间都是同胞节点。通过使用previousSibling和nextSibling属性可以访问。列表中的第一个节点的previousSibling和最后一个节点的nextSibling都为null。
父节点的firstChild和lastChild属性分别指向childNodes中的第一个和最后一个节点。
owneDocument表示整个文档的文档节点。
appendChild用于向childNodes列表的末尾添加一个节点,并返回新增的节点。
insertBefore()方法接受两个参数:要插入的节点和作为参照的节点。如果参照点是null,则insertBefore()和appendChild()执行相同的操作。返回新插入的节点。
replaceChild()方法接受两个参数:要插入的节点和要替换的节点,返回要替换的节点。
removeChild()移除节点,接受一个参数:要移除的节点。返回被移除的节点。
cloneNode()用户创建调用这个方法的节点的一个完全相同的副本。该方法接受一个布尔值参数,如果为true表示执行深复制,表示复制节点机器整个子节点树。没有父节点,相当于一个孤儿
document节点具有下列特征:
- nodeType的值为9
- nodeName的值为“#document”
- nodeValue的值为null
- parentNode的值为null
- ownerDocument的值为null
document.documentElemenet即为HTML元素
document.body即为body元素
getElementById() getElementByTagName();
Text类型的节点具有以下特征:
- nodeType的值为3
- nodeName的值为“#text”
- nodeValue的值为节点所包含的文本
- parentNode是一个element
- 没有子节点,不支持
Comment类型
Comment节点具有下列特征:
- nodeType的值为8
- nodeName的值为“#comment”
- nodeValue的值是注释的内容;
- parentNode可能是Document或Element
- 不支持子节点
可以使用document.createComment()并为其传递注释文本也可以创建注释节点。
Javascript高级程序设计读书笔记(第10章 DOM)的更多相关文章
- Javascript高级程序设计读书笔记(第二章)
第二章 在HTML中使用Javascript 2.1<script>元素 延迟脚本(defer = "defer")表明脚本在执行时不会影响页面的构造,脚本会被延迟到 ...
- JavaScript高级程序设计学习笔记第十一章--DOM扩展
1.对 DOM 的两个主要的扩展是 Selectors API(选择符 API)和 HTML5 2.Selectors API Level 1 的核心是两个方法: querySelector()和 q ...
- JavaScript高级程序设计-读书笔记(3)
第8章 BOM 1.window对象 (1)全局作用域 BOM的核心对象是window,它表示浏览器的一个实例.在浏览器中,window对象既是通过JavaScript访问浏览器窗口的一个接口,又是E ...
- JavaScript高级程序设计-读书笔记(4)
第11章 DOM扩展 1.选择符API Selector API Level 1 的核心是两个方法:querySelector()和querySelectorAll().在兼容的浏览器中,可以通过Do ...
- javascript高级程序设计读书笔记-事件(一)
读书笔记,写的很乱 事件处理程序 事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别 没有DOM1 同样的事件 DOM0会顶掉html事件 因为他们都是属性 而 ...
- Javascript高级程序设计读书笔记(第六章)
第6章 面向对象的程序设计 6.2 创建对象 创建某个类的实例,必须使用new操作符调用构造函数会经历以下四个步骤: 创建一个新对象: 将构造函数的作用域赋给新对象: 执行构造函数中的代码: 返回新 ...
- JavaScript高级程序设计 读书笔记 第一章
JavaScript是一种专门为与网页交互而设计的脚本语言 JavaScript实现 ECMAscript---核心 DOM---文档对象模型 BOM---浏览器对象模型
- Javascript高级程序设计读书笔记(第三章)
第3章 基本概念 3.4 数据类型 5种简单数据类型:undefined.boolean.number.null.string. typeof操作符,能返回下列某个字符串:“undefined”.“b ...
- JavaScript高级程序设计 读书笔记 第二章
<script>元素 直接在页面中嵌入JavaSript代码或包含外部JavaSript文件. 在代码中任何地方不能出现</script>,可通过转义字符'\'解决. 在XHT ...
随机推荐
- WPF Mahapps.Metro 设置主题样式
/// <summary> /// 设置App样式 /// </summary> /// <param name="accentName">窗口 ...
- Java下载Servlet Demo
request.setCharacterEncoding("utf-8"); String name=request.getParameter("name"); ...
- javascript解析从服务器返回的json格式数据
在javascript中我们可以将服务器返回的json格式数据转换成json格式进行使用,如下: 1.服务器返回的json格式数据: 通过response.responseText获得: " ...
- ECSTORE AJAX提交的实现
今天向大家介绍在ecstore中怎样使用ajax提交数据 1 <script> //JAVASCRIPT代码 $$(".BB").ADDEVENT('CHANGE',F ...
- IE的有条件注释详解
IE的有条件注释是一种专有的(因此是非标准的).对常规(X)HTML注释的Miscrosoft扩展.顾名思义,有条件注释使你能够根据条件(比如浏览器版本)显示代码块.尽管是非标准的,但是有条件注释对于 ...
- 设置CentOS里的Mysql开启客户端远程连接
CentOS系统安装好MySQL后,默认情况下不支持用户通过非本机连接上数据库服务器,下面是解决方法: 1.在控制台执行 mysql -u root -p mysql,系统提示输入数据库root用户的 ...
- CentOS 添加/绑定 IP
美国VPS的独立IP相对于国内而言,是非常的便宜的.比如有些美国VPS,买5个独立IP才三美元左右一个月.当我们购买了多个独立IP时,如果你不想再联系客服而漫长的等待,那就自己手动配置吧. 一.进入/ ...
- ie浏览器下HTML上传控件input=file的美化
近期写东西用到了input=file这个按钮,给其添加背景,在其它浏览器上都可以正常的显示,可一到ie上便不听话了,完全没有添加上,显的很难看.今天在网上找到一方法,试过后感觉很好,终于把这个问题给解 ...
- Sicily 1021. Couples
题目地址:1021. Couples 思路: 想清楚了这道题其实很简单.利用夫妻出现的位置作为下标,并设为同一值,第一对夫妻值为1,第二对为2,以此类推,存储完毕即可进入下一步. 利用栈这个数据结构: ...
- Toast——提醒方式
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用To ...