意外的令牌,无法理解原因

时间:2019-11-04 21:23:12

标签: javascript

我是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();
}

但是似乎什么都没有丢失或多余的'{',这是怎么回事?我曾尝试过,但找不到为什么发生这种情况的答案。

3 个答案:

答案 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++;
}