document.createElement(tagName)
創建一個由tagName指定的HTML元素,需要注意這僅僅是創建出來,并沒有加到HTML文檔中,需要另一個API來加入到文檔。
var div = document.createElement('div')//創建一個<div>
document.body.appendChild(div)//將div添加到body中
上面的appendChild可將創建的元素添加到文檔的父元素中。
Node.parentNode
返回指定節點在DOM書中的父節點
Node.parentElement
返回指定節點的父元素節點。如果父元素不是element(nodeType !== 1)則返回null。
因為HTML標簽的父節點不再是元素,所以返回了null。
parentNode和parentElement的區別
parentNode返回所有類型的節點,
parentElement如果父元素不是element(nodeType !== 1)則返回null。
Node.nodeType
返回指定節點的節點類型,返回的一個整數。
常量 | 返回數值 | 描述 |
---|---|---|
Node.ELEMENT_NODE | 1 | 元素節點,如<div> |
Node.TEXT_NODE | 3 | Element或者Attribute中的文字 |
Node.PROCESSING_INSTRUCTION_NODE | 7 | 用于XML文檔的ProcessingInstruction,如<?xml-stylesheet ... ?>聲明 |
Node_COMMENT_NODE | 8 | Comment節點 |
Node_DOCUMENT_NODE | 9 | Document節點 |
Node_DOCUMENT_TYPE_NODE | 10 | DocumentType節點,如<!DOCTYPE html> |
Node_DOCUMENT_FRAGMENT_NODE | 11 | DocumentFragment節點 |
p.nodeType
返回值為1說明p是一個元素。
ParentNode.children
返回一個元素的所有子標簽(不包括節點類型為文本(nodeType === 3)的標簽)
div.children
div.children
ParentNode.childNodes
返回一個元素的所有子標簽(包括節點類型為文本(nodeType === 3)的標簽)
div.childNodes
div.childNodes
Node.nextSibling
返回其父節點的childNodes列表中緊跟在其后面的一個節點(它的第一個弟弟節點),如果它是最后一個節點(最小的),返回null。
咦怎么和想象中的不一樣,不是應該返回<span>嗎?看上一個例子可以知道,div的childNodes列表中p的下一個是text。想獲取到span,需要這么寫
下一個的下一個就是啦。