У меня проблема с JQuery в тот момент, когда я пытаюсь разобрать целочисленную переменную в цикле for в функции eq(). Проблема, с которой я столкнулась, - это когда я пытаюсь добавить класс ".episode-l" (должен быть классом, поскольку их несколько и отображаются с помощью getjson) в определенном месте с помощью функции eq(), но это не будет отображение с переменной, мне она нужна как переменная, так как мне нужно увеличивать ее каждый цикл. Есть и другие подобные сообщения, но я посмотрел на них, и никто из них не работает. Вот код:
for( var i = 0; i < filmnamevar.length; i++)
{
$.getJSON('http://api.themoviedb.org/3/search/movie?query='+ filmnamevar[i] +'&api_key=81c50c197b83129dd4fc387ca6c8c323',function(dataa){
$('.episode-l').eq(i).append('<div class="rating">'+ dataa.results['0'].vote_average +'</div>');
console.log(i);
});
}
Это общая проблема, связанная с использованием замыкания в цикле.
Предполагая, что filimnamevar
является массивом, поскольку вы используете jQuery, вы можете использовать $.each() (вместо использования функции IIFE, как указано в приведенных ниже ссылках, но принцип, лежащий в основе проблемы, тот же)
$.each(filmnamevar, function (i, val) {
$.getJSON('http://api.themoviedb.org/3/search/movie?query=' + val + '&api_key=81c50c197b83129dd4fc387ca6c8c323', function (dataa) {
$('.episode-l').eq(i).append('<div class="rating">' + dataa.results['0'].vote_average + '</div>');
console.log(i);
});
})
Читать