前言:原生是Javascript的基礎,還是需要多多重視,時間長都忘記了,現在整理一下。
獲取子節點
- children 不是標准的dom屬性,但是幾乎被所有瀏覽器支持。不包含文本節點.
注意:在IE中,children包含注釋節點。
- childNodes 是標准屬性。返回所有子節點。包括文本節點。
獲取第一個子節點
1.firstChild
document.getElementById('b_pole').childNodes[0].childNodes[0].firstChild
獲取最后一個子節點
1.lastChild
document.getElementById('b_pole').childNodes[0].childNodes[0].lastChild
判斷是否有子節點
1.hasChildNodes()
document.getElementById('b_pole').childNodes[0].childNodes[0].hasChildNodes()
判斷節點類型與節點名稱
1.nodeType
- 1:元素
- 2:屬性
- 3:文本
2.nodeName
document.getElementById('b_pole').childNodes[0].childNodes[0].nodeType //1
document.getElementById('b_pole').childNodes[0].childNodes[0].nodeName //UL
創建DOM結構
1.創建元素節點 createElement
2.創建文本節點 createTextNode
document.createElement('div')
document.createTextNode('ok')
插入節點
1.insertBefore
2.appendChild
document.getElementById('b_pole').insertBefore(document.createTextNode('div'),document.getElementById('b_pole').firstChild)
document.getElementById('b_tween').childNodes[0].nextSibling.previousSibling.appendChild(document.createTextNode('ZQZQZQZQZ'))
移除節點
1.removeChild
document.getElementById('b_pole').removeChild(document.getElementById('b_pole').childNodes[0])
並返回被刪除的節點dom
獲取元素的下一個節點(同胞)
1.nextSibling
document.getElementById('b_pole').nextSibling
獲取元素的上一個節點(同胞)
1.previousSibling
document.getElementById('b_pole').previousSibling