1

我的代码: http ://codepen.io/vincentccw/pen/ecJDG

基本上我想要得到的是来自 attr 调用data-designer的所有数据属性值

假设有 4 个,但我只能使用第一个:

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

我该如何解决?

4

5 回答 5

2
$('ul').each(function(){
    console.log($(this).attr('data-designer'))
    //you can add to an array also  
});
于 2013-11-15T11:02:33.373 回答
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);

Note, I used data to get the data-* attributes as this is quicker than accessing the attributes of the DOM element directly.

于 2013-11-15T11:04:56.107 回答
1

你需要使用.each()

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

Codepen 演示

于 2013-11-15T11:03:18.623 回答
1

$('ul').attr("data-designer")刚刚获得了第一个 ul 元素的属性。如果要获取所有具有"data-designer"属性的 uls,请尝试以下操作:

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