DOM:Document/Object/Model
DOM是一棵树,树上有Node,分为Document(html)、Element(元素)、Text(文本)、Comment(注释)及其他
DOM最主要的功能是:通过 构造函数 把 节点 变成 对象,通过调用对象的 API 来操作对象
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node的接口
1.属性
nodeName,nodeType,nodeValue,
childNodes,parentNode,parentElement
firstChild,lastChild,nextSibling,previousSibling
innerText,textContent(注意两者的区别)
outerText,ownerDocument
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
需要注意的一些问题
document.body.childNodes 获取子节点(会获取文本节点)
document.body.children 获取字标签(不会获取文本节点)
如何获取文本
innerText(IE)与textConten(Firefox)的区别
(innerText意识到样式,比如display:none)
(innerText受Css样式影响,会触发重排.......也就是它的速度会比textContent慢)
2.方法(如果一个属性是函数,那么这个属性也叫作方法,换言之,方法是函数属性)
.appendChild( )
.cloneNode( ) //注意 .cloneNode(true)深拷贝,拷贝的跟原来的完全一样;.cloneNode( )浅拷贝,只克隆属性和标签不克隆其子节点
.contains( )
.hasChildNodes( )
.insertBefore( )
.isEqualNode( ) // 相等但不是同一个,比如 var a = 1; var b = 1 那么 a 和 b 相等但不是同一个
.isSameNode( ) //相同,同一个
.removeChild( )
.replaceChild( )
.normalize( ) //常规化
DOM: