是一个接口。 许多DOM API都会继承于它,如document, Element document.getElementById 的返回值就是一个继承于Node的对象 常用的API有:
Node.childNodes只读 返回一个该节点所有的即时更新的NodeList
Node.nodeName只读 返回节点名,如 DIV, IMG
Node.lastChild只读 最后一个Node,若没有则是null
Node.firstChild只读 第一个Node,若没有则是null
它是一个节点的集合,可以通过document.querySelectorAll返回一组静态的NodeList。 如,
const parentNode = document.getElementById('content')
const nodeList = parentNode.querySelectorAll('div')
console.log(nodeList) // 假设这里的值是5
const newElement = document.createElement('div')
parentNode.append(newElement) // 插入一个DOM
console.log(nodeList) // 这里的nodeList仍是5
复制代码也可以通过 Node.childNodes返回一组动态的NodeList Node.childNodes/返回包含指定节点的子节点的集合,该集合为即时更新的集合(live collection)。/
const parentNode = document.getElementById('content')
const nodeList = parentNode.childNodes
console.log(nodeList) // 假设这里的值是5
const newElement = document.createElement('div')
parentNode.append(newElement) // 插入一个DOM
console.log(nodeList) // 这里的nodeList会变为6
复制代码查看Node的原型链,它并没有继承于Array,所以它不具有Array的方法。 但是,除非在特别老的浏览器下,否则它现在都具有forEach的方法,你也可以用Array.from去转为数组进行遍历。