Skip to content

JS DOM API分析

Element.classList

返回DOMTokenList,IE version>=10不完全支持。 1. 不支持classList.contains的第二个参数(force) 2. add和remove方法不支持多参数 3. SVG,MathML结点没有classList属性

Node种类

Node.nodeName

Interface nodeName
Comment #comment
Document #document
DocumentFragment #document-fragment

Node的树遍历

Node树遍历普遍要考虑空白文字结点。(whitespace textNode)。

Node.childNodes

返回一个NodeList,表示该结点的所有子结点,包括文字结点和注释,该NodeList里面全部是object,并没有string。可以使用ParentNode.children来获得所有纯Element结点集合。

Node.firstChild

返回结点的第一个子结点。可能是whitespace textNode。 可以使用Element.firstElementChild来获得Element结点。

Node.lastChild

返回结点的最后一个子结点。可能是whitespace textNode。 可以使用Element.lastElementChild来获得Element结点。

Node.nextSibling

返回下一个兄弟结点,可能是whitespace textNode。可以使用Element.nextElementSibling获得Element结点。

Node.previousSibling

返回前一个兄弟结点,可能whitespace textNode。可以使用Element.previousElementSibling获得Element结点。

Node.innerText

是一个非标准的属性,返回当前结点包括其子结点的所有文字。可以使用标准方法Node.textContent代替。

Node.textContent

Node.parentElement

返回当前Node的父Element元素,如果没有父Element元素,返回null。

Node.parentNode

一个元素的parentNode可能是另一个元素、Document或者DocumentFragment。 Document和DocumentFragment的parentNode是null,同样,一个刚刚创建的node,如果还没有加到dom树里面,它的parentNode同样是null。

//移除某element:
ele.parentNode.removeChild(ele);

Comments