这里总结了常用的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
|