在您的代码中,imgs
是 jQuery 对象,而不是 DOM 元素。因此,它没有.src
属性。
如果您想要该.src
jQuery 对象中的图像属性,则需要执行以下操作之一:
var src = imgs.attr("src");
或者,从 jQuery 对象中获取第一个 DOM 元素:
var src = imgs[0].src
此外,您的代码中还有其他几个错误。如果您想将src
所有被点击的元素的值累积到一个数组中,您可以执行以下操作:
$('#mainContainerPortfolio #activateBox').click(function(){
var clickedAlt = $(this).children('img').attr('alt');
var imgs = $('#mainContainerPortfolio #projectImg[alt="'+clickedAlt+'"]');
var srcs = imgs.map(function(index, elem) {
return(elem.src);
}).get();
console.log(srcs);
});
我认为您的选择器也存在问题,因为您只能拥有一个带有 an 的元素,id="projectImg"
因此没有理由将属性 [alt="'+clickedAlt+'"] 与它一起使用。
同样,'#mainContainerPortfolio #activateBox'
可以只更改为,'#activateBox'
因为只能有一个 id 为 的对象activateBox
。