1、Node类型
1、JS所有结点类型都继承自node类型,结点类型由在node类型中定义的12个常量值表示。(再用if判断时最好用数字值进行比较)
- nodeName、nodeValue、nodeType
nodeType用来得到当前结点的结点类型。
对于元素结点,其nodeName始终保存的是标签名。
2、每个结点都有一个childNodes属性,访问childNodes属性可以用
someChild.childNodes[0]或someChild.childNodes.item(0)
- 每个结点都有一个parentNodes属性,与childNodes属性访问方式相同
- children与childNodes类似,但它只对元素结点有操作,不会对文本结点进行操作
- parentNode:是指某一元素在结构上的父级,是固定的,不同情况不会有区别
offsetNode:是指已定位的父级,不一定是结构上的父级,会改变
3、收尾子节点:
firstElementChild、lastElementChild
4、兄弟节点
nextSibing、nextElementSibing
preciousSibing、previousElementSibing
2、DOM操纵元素属性
(1)获取:getAttribute(名称);
(2)设置:setAttribute(名称,值);
(3)删除:removeAttribute(名称);
其他方式:
(1)oDiv.style.display=“block”;
(2)oDiv.style[“display”]=“block”;
3、创建、插入、删除元素
(1)创建dom元素:document.createElement(标签名);
父元素 . appendChild(变量名);
两个都要写,再能把元素成功添加
(2)插入元素:父元素 . insertBefore(节点,已有节点);
在已有节点前加入
(3)删除节点:父元素 . removeChild(节点);
4、document类型
1.文档的子节点:
DocumentType、Element、ProcessingInstruction、Commom
2.属性:
(1)document . title:包含的是< title >的内容
(2)document . URL:存的是当前页面的完整URL(不能设置)
(3)document . domian:存的是当前页面的域名(可以设置)
(4)document . referrer:存的是连接到该页面的页面URL(不能设置)
3.获取元素
(1)getElementById(Id名);
(2)getELementsByTagName(标签名);如input,div ,p等等
4.文档写入
(1)两个都接收的是字符串,只不过第二个会自动添加 \n
write()
writeIn()
(2)打开和关闭网页(前面写过)
open()
close()
5、Element类型
1.访问元素的标签名:nodeName、tagName
先获取元素,然后变量 . tagName 或者 变量 . nodeName
2.HTML元素
所有html元素都由HTMLElement类型表示,每个HTML元素都存在以下特性:
id:元素的唯一标识符
title:元素的附加说明
lang:元素的语言代码
dir:语言的方向
className:class
3.获取特性:
(1)获取:getAttribute(名称);
(2)设置:setAttribute(名称,值);
(3)删除:removeAttribute(名称);
4.创建元素:createElement()
添加子元素:appendChild()
插入子元素:insertChild()
替换子元素:replaceChild()
6、Text类型(纯文本内容)
1.创建文本节点:document.createTextNode(要插入节点的文本)
2.normallize():在包含两个或多个文本元素的父节点上调用该方法,会把许多文本节点合并成一个
3.splitText():将一个吻吧分成两个文本节点,按照指定位置分隔
7、Comment类型
- comment类型与text类型继承相同的基型,因此它拥有了出splitText()之外的所有字符串操作。
- document。createComment并为其传递注释文本可以创造注释节点,
var comment = document.creatELement("A comment");
8、CDATASection类型
只针对于基于XML的文本,与text类型继承相同的基型,因此它拥有了出splitText()之外的所有字符串操作。
9、DocumentType类型
在Web浏览器中并不常用。
1.属性:
(1)name:文档类型的名称
(2)entities:文档类型描述的实体的NamedNodeMap对象
(3)notations:由文档类型描述的符号NamedNodeMap对象
10、DocumentFragment类型
- 在所有节点类型中,只有这个类型在文档中没有对应的标记,DOM规定文档片段是一种“轻量级”的文档,可以包含和控制节点,但不会想完整文档那样占用资源。
1.子节点:Element、ProcessingInstruction、Comment、Text、CDATASection、EntityReference. - 创建文档片段:document.createDocumentFragment();
- 可以通过appendChild()和insertBefore()把文档片段添加到文档中
11、Attr类型
1.方法:getAttribute()、setAttribute()、removeAttribute()
2.属性:name:特性名称
value:特性的值
specified:布尔值,用来区别特性是在代码中是指定的还是默认的
12.操作表格
1.获取:
tBodies=getElementsByTagNames(‘body’);
rows=getElementsByTagNames(‘tr’);
cells=getElementsByTagNames(‘td’);
tHead:表格里的第一个元素
tFoot:表格里的最后一个元素
例如:
父元素.getELementsByTagNames('body')[0].getElementsByTagNames('tr')[1].getElementsByTagName('td')[1],innerHTML
==父元素.tBodies[0].rows[1].cells[1].innerHTML