内で見つかったすべての要素を取得しようとして<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(...)
すべてのids を文字列として使用する場合:
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.