indexOf() 函数不适用于数组
indexOf() function not working on arrays
我有两个 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 is not a function
这里是一个总结我的问题的片段:
var containers = document.querySelectorAll(".container");
var div1 = document.querySelectorAll(".container")[0];
containers.indexOf(div1); // returns the error
<div class="container"></div>
<div class="container"></div>
querySelectorAll
returns 一个 NodeList,不是数组。您可以通过调用 Array.from(...)
.
将 NodeList 转换为数组
查询所有returns个非活节点列表。 indexOf 方法没有在上面定义。更多信息在这里
您可以使用 Array.from() 转换为数组,然后使用 indexOf
我有两个 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 is not a function
这里是一个总结我的问题的片段:
var containers = document.querySelectorAll(".container");
var div1 = document.querySelectorAll(".container")[0];
containers.indexOf(div1); // returns the error
<div class="container"></div>
<div class="container"></div>
querySelectorAll
returns 一个 NodeList,不是数组。您可以通过调用 Array.from(...)
.
查询所有returns个非活节点列表。 indexOf 方法没有在上面定义。更多信息在这里
您可以使用 Array.from() 转换为数组,然后使用 indexOf