这里总结了常用的DOM属性和方法。
节点类型
常用的节点类型有3种:元素节点,属性节点和文本节点。
| 节点类型 | nodeName | nodeType | nodeValue | 
| 元素 | 元素名称 | 1 | null | 
| 属性 | 属性名称 | 2 | 属性值 | 
| 文本 | #text | 3 | 文本内容(不含html) | 
属性
节点信息
| 1 2 3
 | nodeType              nodeName              nodeValue            
 | 
节点关系
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
 | childNodes            parentNode            nextSibling           previousSibling       firstChild            lastChild             children                    childElementCount           firstElementChild           lastElementChild            nextElementSibling          previousElementSibling     
 | 
节点内容
| 1 2 3 4 5
 | innerHTML                  outerHTML                  innerText                  outerText                 
 | 
节点属性
| 1 2 3 4 5 6 7
 | attributes      classList       ul.classList.remove('one');        ul.classList.add('four');          ul.classList.contains('four');     ul.classList.toggle('one');       
 | 
元素大小
用一张图来说明:

方法
增加节点
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
 | document.createElement(tagName)                   document.createTextNode(text)                     parentNode.appendChild(newNode)                   parentNode.insertBefore(newNode, referNode)       node.cloneNode(Boolean)              insertAdjacentHTML()                 element.insertAdjacentHTML('beforebegin', '<p> hello xwj... </p>') element.insertAdjacentHTML('afterbegin', '<p>hello xwj... </p>' element.insertAdjacentHTML('beforeend', '<p>hello xwj... </p>' element.insertAdjacentHTML('afterend', '<p>hello xwj... </p>'
 | 
删除节点
| 1
 | parentNode.removeChild(deleteNode)     
 | 
替换节点
| 1
 | parentNode.replaceChild(newNode, deleteNode)    
 | 
查获节点
| 1 2 3 4 5 6 7
 | document.getElementById(id) document.getElementsByTagName(tagName)        document.getElementsByName(name)              document.getElementsByClassName(className)    document.querySelector()             document.querySelectorAll()         
 | 
操作特性
| 1 2 3 4 5 6 7
 | element.getAttribute('id')               element.id                               element.setAtrribute('class', 'one')     element.className = 'color'              element.removeAttribute('class')               
 | 
其他
| 1 2 3 4 5
 | element.hasChildNodes()                 document.hasFocus()                     document.activeElement                 
 |