2016-05-16 14 views
1

複数の要素からという名前の属性を取得しますこの?私は指の爪をトリミングするために鋏を使用しているように感じる。

私は最近d3を使用していましたが、これはvar attributes = $("#id").find("tag").attr("attribute");のような方法でこれを行う方法があるように感じますが、これは選択肢の最初の要素の属性に変数を設定するだけです。

答えて

1

あなたは戻り値を含む新しいjQueryオブジェクトを生成、パスに.get()

とともに機能により、現在のマッチしたセット内の各要素を.map()を使用することができます。

var attributes = $("#id tag").map(function() { 
    return $(this).attr("attribute"); 
}).get(); 
1

次のようなmap()メソッドを使用します。

var attributes = $("#id tag").map(function() { 
    return $(this).attr("attribute"); 
}).get(); 
1

ネイティブメソッドhasAttributeを使用してhtmlページ内のすべての要素を切り捨てるには。

var attributes = []; 
$("*").each(function(index,element) 
{ 
    if($(element)[0].hasAttribute("id")) 
    { 
     attributes.push($(this).attr("id")); 
    } 
}); 

alert(JSON.stringify(attributes)); 

ページ内の特定の要素をターゲットにする。 HTMLページのp、label、h1などの要素を追加して、次のように試してみてください。$( "。className、#id、tagName")などのjQueryセレクタにIDまたはクラス名を指定することもできます。

var attributes = []; 
$("p,h1,label").each(function(index,element) 
{ 
    if($(element)[0].hasAttribute("id")) 
    { 
     attributes.push($(this).attr("id")); 
    } 
}); 

alert(JSON.stringify(attributes)); 

第3に、マップマソドを使用できます。 mapメソッドは配列を返します。

attributes = $("p,h1").map(function() 
{ 
    return $(this).attr("id"); 
}).get(); 

alert(JSON.stringify(attributes)); 

第2の&第3がより良い。特定の要素を対象とします。

関連する問題

 関連する問題