NodeList 对象是一个节点的集合,是由 Node.childNodes 和 document.querySelectorAll 返回的.
html代码:
<ul id="parent"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> </ul>
js代码:
var parent = document.getElementById("parent"); var child_nodes = parent.childNodes; console.log(child_nodes.length); parent.appendChild(document.createElement("div")); console.log(child_nodes.length);
结果:
Node.childNodes 返回节点个数包括空格。
Node.childNodes是动态实时的,如果文档中的节点树发生变化,则已经存在的 NodeList 对象也可能会变化。
js代码:
var parent = document.getElementById("parent"); var child_nodes = document.querySelectorAll("li"); console.log(child_nodes.length); parent.appendChild(document.createElement("div")); console.log(child_nodes.length);
结果:
querySelectorAll 返回的节点个数不包括空格。
querySelectorAll 返回的是一个静态的NodeList.也就意味着随后对文档对象模型的任何改动都不会影响集合的内容。其底层实现类似于一组元素的快照,而非不断对文档进行搜索的动态查询。
时间: 2024-10-06 22:40:20