有人可以告诉我这段代码有什么问题吗? Chrome和Firefox表示scrns[i]
未定义,尽管Chrome仍在鼠标悬停时运行代码。
function nextPrev() {
if (!document.getElementsByClassName) return false;
var scrns = document.getElementsByClassName('scrn');
for (var i=0; i<=scrns.length; i++) {
// console.log(i);
scrns[i].onmouseover = function() {
// console.log('foo');
}
}
}
window.onload = nextPrev();
我已经测试过for循环是否正常运行,并尝试以我所知道的所有方式确定问题出在哪里。我什至在看我前段时间从一本书中摘录的一个示例,并且无法理解为什么
scrns[i]
是不确定的。任何帮助,不胜感激!
最佳答案
遍历时使用的是<=
。但是请记住,数组从0开始而不是从1开始索引。因此,包含10个元素的数组的长度为10,但元素的长度为0-9。更改以下内容:
for (var i=0; i<=scrns.length; i++) {
至:
for (var i=0; i < scrns.length; i++) {