我正在使用 for-in 循环来迭代两个元素的数组,但这就像它循环两次一样。
我在这里有一个例子:http: //jsbin.com/etoyac/8/
我正在使用 for-in 循环来迭代两个元素的数组,但这就像它循环两次一样。
我在这里有一个例子:http: //jsbin.com/etoyac/8/
这是因为返回的结果getElementsByTagName
不是一个简单的数组——它是一个NodeList并且它是“活的”。您对 DOM 所做的更新会立即反映在列表中。
您可以使用 Array 原型上的“slice”方法将 NodeList 转换为数组:
var slideArr = [].slice.call(slides, 0);
此外,您应该使用数字索引遍历数组(或 NodeList):
for (var slideIndex = 0; slideIndex < slideArr.length; ++slideIndex) {