obj is not iterable
Craigy- opened this issue · comments
After updating this script from 4.1.0 to 5.0.0 without any changes of initialization code, it's now thrown error and doesn't work:
Uncaught TypeError: obj is not iterable
Initialization code:
$('.js-b').each(function () {
console.log($(this));
$(this).imagesLoaded().done(function () {
...
});
});
console.log => Object { 0: div.all-b.vertical-b.js-b, context: div.all-b.vertical-b.js-b, length: 1 }
@Craigy-
I was having the same issue.
I made a simple test with the jquery version of images loaded with a simple container loading a number of images as immediate children and was still getting the 'obj not iterable' error.
I just went in and updated the code in the in the script to use the Object.values() method to convert to an array so that I didn't run into the iterable issue with the Object.
I updated this
if (isArrayLike) return [...obj];
To this
if (isArrayLike) return Object.values(obj);
And all is working now,