Я пытаюсь захватить атрибуты для определенных меток выделения так:
$('tagName').swapper();
Каждый раздел имеет вид data-image = "source", мне нужно захватить каждый из них и создать массив из него. Вот где я застрял, я могу получить каждый по отдельности, но не сразу, чтобы создать массив, ниже мой код для создания массива.
var imgArray = [];
$this.each(function() {
var count = getImgAttr.length;
imgArray.push([getImgAttr]);
console.log(imgArray);
console.log(count);
});
getImgAttr - это просто $ this.data("image");
Это возвращает каждый из них как отдельный массив, а не один.
Как я могу связать их все и предотвратить их разделение?
Спасибо, парни.
Вероятно, ваша проблема исходит отсюда:
var getImgAttr = $this.data("image");
это получает значение atttribute данных первого элемента в коллекции в пределах $ this. Вы должны делать это внутри области, где вы повторяете изображения. Кроме того, вы можете упростить код, пропустив каждый из них и перейдя в .map
.
$.fn.swapper = function(){
var imageArr = this.map(function(){
return $(this).data("image");
}).get();
console.log(imgArr);
return this;
}
[]
? вы должны определить getImgAttr для каждого изображения, которое вы перебираете, иначе оно будет когда-либо смотреть только на первое изображение.