Jquery 如何通过匹配变量创建循环

Jquery 如何通过匹配变量创建循环,jquery,arrays,image,loops,attributes,Jquery,Arrays,Image,Loops,Attributes,我希望通过两个单独的数组来匹配属性。与其为数组中的每个图像编写一行代码,不如说,抓取所有图像并将它们复制到另一个数组中 var arr = new Array(); $('.single-project .et_pb_slide_image img').each(function(){ arr.push($(this).attr('src')); }); var arr2 = new Array(); $('.single-project .et-pb-controllers a i

我希望通过两个单独的数组来匹配属性。与其为数组中的每个图像编写一行代码,不如说,抓取所有图像并将它们复制到另一个数组中

var arr = new Array();
$('.single-project .et_pb_slide_image img').each(function(){
     arr.push($(this).attr('src'));
});

var arr2 = new Array();
$('.single-project .et-pb-controllers a img').each(function() {
     arr2.push($(this));
});

arr2[0].attr('src', arr[0]);
arr2[1].attr('src', arr[1]);
arr2[2].attr('src', arr[2]);
arr2[3].attr('src', arr[3]);
arr2[4].attr('src', arr[4]);
arr2[5].attr('src', arr[5]);

我想这只是一个你需要的代码

$('.single-project .et_pb_slide_image img').each(function(i){ // i for image index
    var getsrc = $(this).attr('src');
     $('.single-project .et-pb-controllers a img').eq(i).attr('src', getsrc );
});
可以使用jQuery.each替换以下内容:

arr2[0].attr('src', arr[0]);
arr2[1].attr('src', arr[1]);
arr2[2].attr('src', arr[2]);
arr2[3].attr('src', arr[3]);
arr2[4].attr('src', arr[4]);
arr2[5].attr('src', arr[5]);
与:

或者更好的是,您可以利用上一个循环更新arr2,如下所示:

var arr2 = new Array();
$('.single-project .et-pb-controllers a img').each(function(i) {
     arr2.push( $(this).attr( 'src', arr[i] ) );
});

而且,如果阵列不在其他任何地方使用,您可以根据@Mohamed Yousef的解决方案将其删除。

在尝试使用上述默认代码之前的.eq代码时,我只是没有将接收图像嵌套在原始图像的循环中。非常感谢。很好用!:
var arr2 = new Array();
$('.single-project .et-pb-controllers a img').each(function(i) {
     arr2.push( $(this).attr( 'src', arr[i] ) );
});