我是JS的新手,尝试创建一个简单的函数时出现错误
Uncaught SyntaxError: Unexpected token '{'
我了解哪些,但我不明白为什么。根据控制台,我在这里遇到问题:
function displayGallery(galleryName) {
let src = './Images/' + galleryName + '/';
let imageIndex = 1;
let myGridCells = $('.foodImage');
foreach (image in myGridCells) { <--- problem here.
let newSrc = src + imageIndex + '.jpg';
image.attr('src', newSrc);
imageIndex++;
}
fadeMainGrid();
}
但是似乎什么都没有丢失或多余的'{',这是怎么回事?我曾尝试过,但找不到为什么发生这种情况的答案。
答案 0 :(得分:0)
function displayGallery(galleryName) {
let src = './Images/' + galleryName + '/';
let imageIndex = 1;
let myGridCells = $('.foodImage');
for (image in myGridCells) { <--- problem SOLVED here.
let newSrc = src + imageIndex + '.jpg';
image.attr('src', newSrc);
imageIndex++;
}
fadeMainGrid();
}
当这样循环时,它不是forEach。
请参阅此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Loops_and_iteration
答案 1 :(得分:0)
要遍历jQuery集合,请使用.each
:
images.each(function(i, image) {
let newSrc = src + (i+1) + '.jpg';
$(image).attr('src', newSrc);
});
答案 2 :(得分:-1)
这似乎只是一个简单的语法错误,您可以将“ foreach”替换为“ for”,并且应该可以正常工作
不是这个:
foreach (image in myGridCells) {
let newSrc = src + imageIndex + '.jpg';
image.attr('src', newSrc);
imageIndex++;
}
它应该是这样:
for (image in myGridCells) {
let newSrc = src + imageIndex + '.jpg';
image.attr('src', newSrc);
imageIndex++;
}