Dom 的理解和操作
dom 文本对象模型
12种节点类型
一、node类型 js中所有节点类型都继承自node类型 每个节点都有一个nodeType属性,表明节点类型;判断节点类型,if(somenode.nodeType==Node.ELEMENT_NODE)
1要了解节点特性需要nodeName 和nodeValue ,在使用前需要验证节点的类型 somenode.name的值是元素标签名,somenode.value始终为null。测试如下:
<body>
<div id ="node"></div>
</body>
</html>
<script>
if (document.getElementById("node").nodeType ==1) {
alert( document.getElementById("node").nodeName) //DIV
alert( document.getElementById("node").nodeValue) //null
}
</script>
2节点关系childNodes parentNodes
nextSibling previousSibling firstchild lastchild
<body>
<div id ="node">
<div></div>
</div>
</body>
</html>
<script>
var somenode = document.getElementById("node")
if (somenode.nodeType ==1) {
alert(somenode.nodeName) //DIV
alert(somenode.nodeValue) //null
alert(somenode.childNodes[1]) // htmlelementdiv
}
</script>
3.操作节点
appendchild()
insertBefore(要插入的节点,作为参照的节点(null 最好一个)(somenode.firstchild 第一个))
replaceChild cloneNode(blooem)
二、document类型
nodeType=9 nodename#document
1.文档的子节点可以是 documentType Element comment
2.文档信息 document.title URL domain // referrer
3.查找元素 getElementById() getElementsByTagName()返回nodelist getElementByName
4.文档写入 write( ) writeln() open() close()