我有三个关于nodeList类型的查询

时间:2014-02-08 22:46:27

标签: javascript nodes nodelist

我在javascript中有nodeList类型的三个查询或问题。

  1. 什么是nodeList类型?
  2. 当我们处理它时,它是否像数组一样?
  3. 如何知道这是否是nodeList类型?
  4. 例如

    document.querySelector() // did not return nodeList
    document.querySelectorAll() // return nodeList
    //etc....
    

1 个答案:

答案 0 :(得分:0)

1)nodeList是一个对象 - 一个索引(有序)的节点列表。它具有length属性,用于返回列表中的节点数,以及item()方法,用于返回指定索引处的节点。

还有HTMLCollection

2)它有点像一个数组。您可以使用for循环,但不能对它们使用数组方法或HTMLCollections,因为它们不会从数组对象继承。

3)这是一个棘手的问题。你基本上使用slice,但它在IE9中失败了......这是一篇详细解释它的文章:duruk.net/nodelists-and-arrays-in-javascript/

还有一件事需要考虑:nodeLists和HTMLCollections是实时集合,这意味着它们实时反映了DOM中对它们的更新,但.querySelectorAll返回的时间除外。