我有两个div,如下所示:
<div class="container"></div>
<div class="container"></div>
我使用这两个div创建了一个数组:
var containers = document.querySelectorAll(".container");
我还创建了一个变量来表示第一个div:
var div1 = document.querySelectorAll(".container")[0];
当我使用indexOf()
获取数组中第一个div的索引时,出现错误:
containers.indexOf不是函数
以下是一个摘要我的问题的摘录:
var containers = document.querySelectorAll(".container");
var div1 = document.querySelectorAll(".container")[0];
containers.indexOf(div1); // returns the error
&#13;
<div class="container"></div>
<div class="container"></div>
&#13;
答案 0 :(得分:4)
querySelectorAll
返回 NodeList ,而不是数组。您可以通过调用Array.from(...)
将NodeList转换为数组。
答案 1 :(得分:2)
Queryselectorall返回非实时节点列表。 indexOf方法没有定义。更多信息在这里
您可以使用Array.from()转换为数组,然后使用indexOf