我试图将所有找到的元素包含在<div>中,但是默认情况下,它在找到第一个匹配项时停止,但是我希望它列出每个找到的元素的id值。

因此,这不起作用:

listy = $("DIV").find("SPAN").attr("id");

我一直在尝试.get.map,但我认为它们不是我想要的。

最佳答案

listy = $("div").find("span").map(function(){
    return this.id;
}).get();

没有find甚至是更好:
listy = $("div span").map(function(){
    return this.id;
}).get();

Live DEMO

如果只希望定义了<span>属性的id,请将选择器更改为:
$(div span[id]).map(...)

如果您希望所有id作为字符串:
listy = $("div span").map(function(){
    return this.id;
}).get().join('');
join的参数是定界符,例如.join('-').join(',')或不包含:.join('')

10-07 12:16
查看更多