2013-10-02 19 views
0

我對jQuery不太好,我一直在做一個項目,並且陷入了關於jQuery的問題。我有一個滑塊和它的HTML結構是這樣的:如何在html中使用jQuery eq()擴展獲取所有子元素?

<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」屬性(一)與一類幻燈片,我得到它很多,但問題是我只得到第一個元素。我想從它的所有子元素中獲取attr「src」。

我如何實現這一目標?

請幫助我,並儘快回覆我。

謝謝

奧斯曼·阿里·庫雷希

回答

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; 
+0

它沒有工作:( –

0

你可以得到所有源數組變量

var sources = new Array(); 
$("a.slides > img").each(function(index, value){ 
    sources.push($(value).attr("src")); 
}); 

DEMO

已更新

越來越畫廊圖片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")); 
}); 

DEMO

+0

$(值)是錯誤的。當用$(value)和$(this)嘗試你的代碼時,用$(this) – Krishna

+0

替換它,即使整個滑塊都消失了。 –

相關問題