<!doctype html> <html> <head> <title>測試</title> </head> <body> <!-- 測試 --> <div> hello, I'm come from Mars. <span style="color: #333;" name="itcast" itcast="HAHAHA">by--鄭少女</span>哈哈 </div> </body> </html>
須要注意的點html
一、繪製DOM樹:childNodes、attributes 二、從一箇中心元素訪問其全部的直系親屬元素 * 訪問父元素: parentNode * 訪問上一個兄弟元素:previousSibling * 訪問下一個兄弟元素:nextSibling * 訪問第一個屬性元素:attributes[1] * 訪問最後一個屬性元素:lastChild 或 childNodes[childNodes.length-1]
父節點 兄弟節點 當前節點 屬性節點 子節點 兄弟節點
標準DOM APInode
document.getElementById
document.getElementsByTagName
document.getElementsByName
document.getElemensByClassName
document.querySelectorAll 功能強大,可是也許會有瀏覽器不兼容的狀況存在
屬性獲取瀏覽器
getAttribute
getAttributeNode
建立安全
document.createElement 建立元素
document.createTesxtNode 建立文本節點
document.createAttribute 屬性節點
innerHTML
innerText
node.cloneNode()
加入app
appendChild 追加到結尾處
innerHTML
insertBefore 用法:將元素插入到某一個元素的前面 父元素.insertBefore(新元素, 舊元素);
其餘測試
style 的操做
setAttribute(屬性名, 屬性值)
刪除元素spa
removeChild 用法:父元素.removeChild()
removeAttributeNode
修改節點code
刪除節點再加入
修改樣式htm
style.xxx = vvv;
setAttribute
修改文本對象
innerHTML
innerText
節點操做
nodeValue
修改屬性
.xxx = vvv
setAttribute
<script> onload = function(){ var div = document.getAttributeNode('#dv')[0]; // 第一種方式 添加自定義的屬性,非標準模式 div.setAttribute('newAttr', '新增的屬性'); // 第二種方法 .xxx = vvv div.className = 'newClass'; // 第三種方法 使用更安全,在前兩個方法使用失效的狀況下可用 var attr = document.createAttribute('newAttr2'); attr.nodeValue = '第三種增長屬性的方式'; div.setAttribute( attr ); } </script> <body> <div id="dv"></div> </body>
<script> onload = function(){ var ck = document.getAttribute('#ck')[0]; // 第一種刪除的方法 ck.removeAttribute('checked'); // 第二種刪除方法--對象的方式刪除 var attr2 = ck.getAttributeNode('checked'); ck.removeAttributeNode( attr2 ); // 第三種刪除方法 ck.chceck = false; } </script> <body> <input checked="checked" id="ck" /> </body>