Javascript jQuery如何将多个img src追加到一个数组中

Javascript jQuery如何将多个img src追加到一个数组中,javascript,jquery,arrays,Javascript,Jquery,Arrays,My jQuery/JS的设置是为了在加载文档时查找所有img SRC,并将它们推送到一个数组中: var sliderImg = []; sliderImg.push($('.thumbnail').children('img').attr('src')); 然后,我有代码在单击事件时向阵列发出警报: $('.thumbnail').each(function() { $(this).click(function() { alert(sliderImg); }); }); 然而,它

My jQuery/JS的设置是为了在加载文档时查找所有img SRC,并将它们推送到一个数组中:

var sliderImg = [];
sliderImg.push($('.thumbnail').children('img').attr('src'));
然后,我有代码在单击事件时向阵列发出警报:

$('.thumbnail').each(function() {
$(this).click(function() {
    alert(sliderImg);
});
});
然而,它只是添加了第一个img src路径,有没有其他方法可以添加所有路径


谢谢

您可以使用
每个

$('.thumbnail').children('img').each(function() {
  sliderImg.push($(this).attr('src');
});
方法用作getter时,返回集合中第一个元素的属性。如果需要一个包含所有属性的数组,则必须循环所有元素。您可以使用方法或更方便的方法:

获取匹配元素集中第一个元素的属性值

因此
$('.thumboil').children('img').attr('src')
只返回第一个图像的源

您可以使用来迭代图像并逐个推送源:

var sliderImg = [];
$('.thumbnail').children('img').each(function() {
    sliderImg.push($(this).attr('src'));
});

你知道有没有一种方法可以取代html的一个属性?.html()似乎没有返回任何内容!好的,如果img元素的父元素不适合这样做,您可以使用这种技术:只需使用
$(this)
更改
$(this)
选择器,Cheers Keune,让我走上正确的道路-只需要在img html中包装src:sliderImg.push(“”);您还可以使用map()
var sliderImg = [];
$('.thumbnail').children('img').each(function() {
    sliderImg.push($(this).attr('src'));
});