0

我对 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>';  

    } 

});

现在我正在尝试使用一类幻灯片从锚链接(a)中获取“src”属性,我得到了它,但问题是我只得到了第一个元素。我想从它的所有子元素中获取 attr“src”。

我怎样才能做到这一点?

请帮助我并尽快回复我。

谢谢,

乌斯曼·阿里·库雷希

4

2 回答 2

1

您必须映射元素并返回源属性。
然后你可以将数组加入逗号分隔列表或任何你需要的?

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;
于 2013-10-02T19:33:41.400 回答
0

您可以将所有来源获取到数组变量

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"));
});

从 carousel 获取小图片:

var sourcesSmall = new Array();
$(".jcarousel-container  img").each(function (index, value) {
    sourcesSmall.push($(this).attr("src"));
});

演示

于 2013-10-02T19:37:53.657 回答