内で見つかったすべての要素を取得しようとして<div>
いますが、デフォルトでは、最初に見つかったときに停止しますが、見つかったすべての要素のid
値をリストしたいと考えています。
したがって、これは機能しません:
listy = $("DIV").find("SPAN").attr("id");
.get
私はと を試してきましたが.map
、それらは私が望むものではないと思います..
内で見つかったすべての要素を取得しようとして<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();
属性が定義されている場合のみ、セレクターを次のように変更し<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.