繁体   English   中英

jQuery如何将多个img srcs附加到数组中

[英]jQuery how to append multiple img srcs into an array

我的jQuery / JS已设置好,因此在doc加载时它会查找所有img srcs并将它们推送到一个数组中:

var sliderImg = [];
sliderImg.push($('.thumbnail').children('img').attr('src'));

然后我有代码在点击事件上提醒数组:

$('.thumbnail').each(function() {
$(this).click(function() {
    alert(sliderImg);
});
});

但是,它只添加了第一个img src路径,是否可以添加所有这些路径?

谢谢!

你可以使用each ;

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

根据.attr()文档

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

所以$('.thumbnail').children('img').attr('src')只返回第一个图像的来源。

您可以使用.each()迭代图像并逐个推送源:

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

attr方法,当用作getter时,返回集合中第一个元素的属性。 如果需要所有属性的数组,则必须遍历所有元素。 您可以使用each方法或更方便的map

var sliderImg = $('.thumbnail').children('img').map(function() {
    return this.src;
}).get();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM