我希望循环使用2个独立的数组来匹配属性。不要为我的数组中的每个图像编写一行代码,不如说“抓住所有图像并将它们复制到另一个数组中”。
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]);
答案 0 :(得分:0)
我认为这只是您需要的代码..
$('.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 );
});
答案 1 :(得分:0)
您可以使用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]);
使用:
$.each( arr2, function( i ) {
arr2[i].attr('src', arr[i]);
});
或者更好,您可以利用上一个循环更新arr2
,如下所示:
var arr2 = new Array();
$('.single-project .et-pb-controllers a img').each(function(i) {
arr2.push( $(this).attr( 'src', arr[i] ) );
});
而且,如果阵列没有在任何其他地方使用,你可以根据@ Mohamed-Yousef的解决方案取消它们。