JavaScript第十章DOM
节点层次
- 文档元素html
Node类型
- 每个节点都有nodeType,可根据nodeType来判断系欸DNA类型,详见高程248页
- 节点关系,每个节点都有childNodes属性,保存着NodeList类数组对象
操作节点:
- appendChild():在末尾添加节点
- insertBefore():接收两个参数,第一个为需要插入的节点,第二个为插入节点的位置
- replaceChild():替换节点,要替换的节点,要被替换的节点
- removeChild():移除节点
- cloneNode():接收一个布尔值参数,是否对克隆的对象进行深复制
- normallize():处理空文本节点
Document类型
- nodeType:9
- nodeName:"#document"
- nodeValue:null,
- parentNode:null,
- ownerDocument:null,
- document.title:获取文档标题
- document.URL:获取文档url
- document.domain:获取文档主域名
- document.getElementById():通过id查找节点
- document.getElementByTagName():通过元素标签名查找元素
- HtmlDocument.getElementByName():通过元素的name特性查找元素
- document.anchors:获取文档中所有带name的a标签
- document.forms:获取文档中所有的form元素
- document.images:获取文档中所有的img元素
- document.link:获取文档中所有带href特性的a标签
文档写入
- document.write():输出文档
- document.writeln():输出文档
- document.open():打开网页输出流
- document.close():关闭网页输出流
Element类型
- nodeType:1
- nodeName:元素的标签名
- nodeValue:null,
- parentNode:Document或者element
- 子节点可能是:element,text,comment,processinginstrunction,CDATASection,EntityReference
HTML元素(标准特性)
- id
- title
- lang
- dir
- className
- 取得特性:getAttribute()
- 设置特性: setAttribute(name,value)
attributes属性
- getNamedItem(name):返回nodename属性等于name的节点
- removeNamedItem(name):从列表中移除nodeName属性等于name的节点
- setNamedItem(node):向列表中添加节点,以节点的nodeName属性为索引
- item(pos):返回位于数字pos位置处的节点
创建节点
- document.createElement():创建新元素
Text类型
- nodeType:1
- nodeName:'#text'
- nodeValue:节点所包含的文本
- parentNode:Element
- appendData(text):将text添加到节点末尾
- deleteData(offset,count):从offset位置开始删除count个字符
- insertData(offset,text):从offset位置插入text字符
- replaceData(offset,count,text):用text替换从offset开始到offset+count为止的处的文本
- splitText(offset):从offset指定的位置将当前文本节点分成两个文本节点
- substringData(offset,count):提取从offset指定的位置开始到offset+count为止的字符串
创建文本节点
- document.createTextNode():创建文本节点
comment类型(注释节点)
- nodeType:8
- nodeName:#comment
- nodeValue:注释的内容
- parentNode:Document或者Element
CDATASection类型(只争对于XML)
- nodeType:4
- nodeName:#cdata-section
- nodeValue:CDATA区域的内容
DocumentType
- nodeType:10
- nodeName:doctype的名称
- nodeValue:null
- parentNode:Document
DocumentDragment
- nodeType:11
- nodeName:#document-fragment
- nodeValue:null
- parentNode:null
- 没有对应标记
Attr类型
- nodeType:2
- nodeName:特性的名字
- nodeValue:特性的值
- parentNode:null
- atter有三个值:name,value和用来区分是否是1默认的特性的specified
DOM操作技术
动态脚本
- 创建标签法
<script></script>
法
动态样式
- 创建标签法
<style></style>
法
操作表格
- caption:保存着对
<caption>
元素(如果有)的指针 - tBodies:是一个
<tbody>
的HTMLCollection - tFoot:保存着对
<tfoot>
元素(如果有)的指针 - tHead:保存着对
<thead>
元素(如果有)的指针 - rows:是一个表格中所有行的HTMLColletion
- createTHead:创建
<thead>
元素,将其放在表格中,返回引用 - createTFoot:创建
<tfoot>
元素,将其放在表格中,返回引用 - createCaption:创建
<caption>
元素,将其放在表格中,返回引用 - deleteThead:删除
<thead>
元素 - deleteTfoot:删除
<tfoot>
元素 - deleteRow(pos):删除指定位置的行
- deleteCapition():删除
<caption>
元素 - insertRow(pos):向指定位置插入一行
- deleteCell(pos):删除指定位置的单元格
- insertCell(pos):向指定位置插入一行
- caption:保存着对
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。