1

私のコード: http://codepen.io/vincentccw/pen/ecJDG

基本的に私が取得したいのは、attr 呼び出しdata-designerからのすべてのデータ属性値です

それらは4つあると思われますが、次を使用して最初のものしか取得できません。

  var dsad = $('ul').attr("data-designer");

これを修正するにはどうすればよいですか?

4

5 に答える 5

2

map()を使用して、属性値を配列に投影できます。

var designers = $("ul").map(function() {
    return $(this).attr("data-designer");
}).get();
于 2013-11-15T11:04:21.833 に答える
2

を使用each()して、各要素を個別に操作できます。

$('ul').each(function(){
    console.log($(this).data('designer'));
});

またはmap()、個別に処理できるすべての値の配列を作成するために使用できます。

var designers = $('ul').map(function() {
    return $(this).data('designed');
});
console.log(designers);

DOM要素の属性に直接アクセスするよりも高速であるため、以前は属性dataを取得していたことに注意してください。data-*

于 2013-11-15T11:04:56.107 に答える
2
$('ul').each(function(){
    console.log($(this).attr('data-designer'))
    //you can add to an array also  
});
于 2013-11-15T11:02:33.373 に答える
1

使用する必要があります.each()

$('ul').each(function(){
   console.log($(this).attr("data-designer"));
});

コードペンデモ

于 2013-11-15T11:03:18.623 に答える
1

$('ul').attr("data-designer")最初の ul 要素の属性を取得しました。"data-designer"属性を持つすべてのulを取得するには、これを試してください:

 $('ul[data-designer]').each(function(){
      console.log($(this).attr("data-designer"));
 });
于 2013-11-15T11:03:33.697 に答える