Skip to content
本页目录

问题

1. HTMLCollection 与 NodeList 的区别?

  • getElementsByClassName()getElementsByTagName() 方法返回实时的 HTMLCollection
  • querySelectorAll() 方法返回静态 NodeList

相同点:

  • 都是从文档中获取节点(元素)组成的类似数组的集合(列表);
  • 都有 length 属性,所以可以通过索引号访问节点;

不同点:

  • HTMLCollection 是文档元素的集;NodeList 是文档节点(元素节点、属性节点和文本节点)的集合
  • HTMLCollection 项目可以通过它们的名称、id 或索引号来访问;NodeList 项只能通过它们的索引号访问
  • HTMLCollection 是实时集合;NodeList 是静态集合
  • 特例:node.childNodes 属性返回实时的 NodeList

2. Node 有哪些常用节点?

  • Element
  • Attribute
  • Text

3. Node 节点操作?

增删改查

4. dom 操作优化?

将频繁的操作改为一次性操作,通过创建文档碎片,最后一次性加入文档碎片。

5. attribute 与 property 区别?

  • attributedom 元素在文档中作为 html 标签拥有的属性;
  • property 就是 dom 元素在 js 中作为对象拥有的属性;如 node.nodeNamenode.nodeValue