我试图在 a 中获取所有找到的元素<div>
,但默认情况下它在找到第一次出现时停止,但我希望它列出每个找到的元素的id
值。
所以这不起作用:
listy = $("DIV").find("SPAN").attr("id");
我一直在尝试.get
and .map
,但我认为它们不是我想要的..
我试图在 a 中获取所有找到的元素<div>
,但默认情况下它在找到第一次出现时停止,但我希望它列出每个找到的元素的id
值。
所以这不起作用:
listy = $("DIV").find("SPAN").attr("id");
我一直在尝试.get
and .map
,但我认为它们不是我想要的..
listy = $("div").find("span").map(function(){
return this.id;
}).get();
没有find
更好:_
listy = $("div span").map(function(){
return this.id;
}).get();
如果您只想定义属性<span>
,id
请将选择器更改为:
$(div span[id]).map(...)
如果你想要所有的id
s 作为一个字符串:
listy = $("div span").map(function(){
return this.id;
}).get().join('');
的参数join
是分隔符,例如.join('-')
或.join(',')
不带:.join('')
也许这样?
var ids = [];
$("div span").each(function() {
if (this.id) {
ids.push(this.id);
}
});
attr() 方法将始终仅返回第一个元素属性。
var listy = '';
$("div span").each(function(){
listy += this.id ;
});
或者像:
var listy = []; // create array
$("div span[id]").each(function(){ // span with ID data
listy.push( this.id ); // push ID names into array
});
// Now use listy.join(); to see the list
// you can also do: listy+'' to transform it into string.