这将返回我对象对象。如何制作 src 数组?
$('#mainContainerPortfolio #activateBox').click(function(){
var clickedAlt = $(this).children('img').attr('alt');
var imgs = $('#mainContainerPortfolio #projectImg[alt="'+clickedAlt+'"]');
imgs.src;
var i = [];
i.push(imgs);
console.log(i);
});
最佳答案
在您的代码中,imgs
是一个 jQuery 对象,而不是 DOM 元素。因此,它没有 .src
属性。
如果您想要该 jQuery 对象中图像的 .src
属性,那么您需要执行以下操作之一:
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);
});
<小时/>
我认为您的选择器也存在问题,因为您只能有一个带有 id="projectImg"
的元素,因此应该没有理由使用属性 [alt="' +clickedAlt+'"] 与它。
同样,'#mainContainerPortfolio #activateBox'
也可以更改为 '#activateBox'
,因为只能有一个 id 为 activateBox< 的对象
.
关于javascript - 为什么jquery在attr ('src'中返回对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920904/