JavaScript分为三部分
核心 ECMAScript 描述了该语言的语法和基本对象。
文档对象模型 DOM 描述处理网页内容的方法和接口。
浏览器对象模型 BOM 描述了与浏览器进行交互的方法和接口。
DOM节点
整个文档是一个文档节点
每个 HTML 元素是元素节点
HTML 元素内的文本是文本节点
每个 HTML 属性是属性节点
注释是注释节点
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
在节点树中,顶端节点被称为根(root)
每个节点都有父节点、除了根(它没有父节点)
一个节点可拥有任意数量的子
同胞是拥有相同父节点的节点
HTML DOM 对象 - 方法和属性
(1)创建新节点
createDocumentFragment() - 创建一个DOM片段
createElement() - 创建一个具体的元素
createTextNode() - 创建一个文本节点
createAttribute() - 创建属性节点
(2)添加、移除、替换、插入
appendChild() - 插入新的子节点(元素)
removeChild() - 删除子节点(元素)
replaceChild() - 替换子节点(元素)
insertBefore() - 在已有的子节点前插入一个新的子节点
(3)查找
getElementsByTagName() - 通过标签名称
getElementsByName() - 通过元素的Name属性的值(IE容错能力较强,
会得到一个数组,其中包括id等于name值的)
getElementById() - 通过元素Id,唯一性
getAttribute() - 返回指定的属性值。
setAttribute() - 把指定属性设置或修改为指定的值
(4)常用的 HTML DOM 属性
innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点
innerHTML 属性
获取元素内容的最简单方法是使用 innerHTML 属性
innerHTML 属性对于获取或替换 HTML 元素的内容很有用
nodeName 属性
nodeName 属性规定节点的名称。
nodeName 是只读的
元素节点的 nodeName 与标签名相同
属性节点的 nodeName 与属性名相同
文本节点的 nodeName 始终是 #text
文档节点的 nodeName 始终是 #document
注释:nodeName 始终包含 HTML 元素的大写字母标签名
nodeValue 属性
nodeValue 属性规定节点的值。
元素节点的 nodeValue 是 undefined 或 null
文本节点的 nodeValue 是文本本身
属性节点的 nodeValue 是属性值
nodeType 属性
nodeType 属性返回节点的类型。nodeType 是只读的
元素类型 NodeType
元素 1
属性 2
文本 3
注释 8
文档 9
改变 HTML 内容
改变 CSS 样式
改变 HTML 属性
通过查找到元素来改变
创建新的 HTML 元素
通过父子节点来创建(appendChild() 或 insertBefore() )
删除已有的 HTML 元素
通过父子节点来删除( removeChild() )
改变事件(处理程序)
数据类型
Number
String
Boolean
Object
Null
Undefined
Array