Я не очень хорошо разбираюсь в jQuery, и я работал над проектом и застревал в проблеме jQuery. У меня есть слайдер, и его структура html выглядит так:
<a class="slides" href="http://pvhorses.net/jersey/about-us/"><img src="http://pvhorses.net/jersey/wp-content/uploads/2013/08/front-pic-slide.jpg" alt="" class="change"></a>
и это jQuery:
jQuery(function(){
//init js styles
jQuery('body').addClass('hasJS');
// homepage cycles
jQuery('#feature_gallery .bigimg').wrapAll('<div class="bigimgs">').parents('#feature_gallery').append('<ul class="menu" id="feature_gallery_pager">').cycle({
fx:'fade',
easing: 'swing',
inDelay: 250,
drop: 40,
timeout: 5000,
pause: true,
slideExpr: '.bigimg',
before:onBefore,
pager: '#feature_gallery_pager',
pagerAnchorBuilder: function(idx, slide) {
var img = jQuery(".slides").children().eq(0).attr("src");
return '<li><a href="#"><img src="'+img+'" class="thumb"><span></span></a></li>';
}
});
Теперь я пытаюсь получить атрибут "src" из привязки (a) с классом слайдов, и я получаю его в значительной степени, но проблема в том, что я получаю только первый элемент. Я хочу получить attr "src" из всех дочерних элементов.
КАК Я МОГУ ДОСТУПИТЬ?
Пожалуйста, помогите мне и ответьте мне, как только сможете.
Спасибо,
Усман Али Куреши
Вам нужно будет сопоставить элементы и вернуть исходный атрибут.
Затем вы можете присоединиться к массиву в разделенный запятой список или что вам нужно?
var img = jQuery.map( jQuery(".slides img"), function(_,slide) {
return slide.src;
}).join(', ');
Я предполагаю, что вы ищете нечто подобное:
var img = "";
jQuery(".slides img").each(function(_, slide) {
img += '<li><a href="#"><img src="'+slide.src+'" class="thumb"><span></span></a></li>';
});
return img;
вы можете получить все источники в переменной массива
var sources = new Array();
$("a.slides > img").each(function(index, value){
sources.push($(value).attr("src"));
});
ОБНОВЛЕНО
получение изображения галереи src:
var sourcesBig = new Array();
$("#slider .bigimgs img").each(function (index, value) {
sourcesBig.push($(this).attr("src"));
});
получение небольших фотографий, от карусели:
var sourcesSmall = new Array();
$(".jcarousel-container img").each(function (index, value) {
sourcesSmall.push($(this).attr("src"));
});