如何获得多个jquery attr值?

时间:2013-11-15 10:59:46

标签: javascript jquery attributes

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

基本上我想得到的是来自attr的所有数据属性值数据设计师

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

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

我该如何解决这个问题?

5 个答案:

答案 0 :(得分:2)

$('ul').each(function(){
    console.log($(this).attr('data-designer'))
    //you can add to an array also  
});

答案 1 :(得分:2)

您可以使用map()将属性值投影到数组中:

var designers = $("ul").map(function() {
    return $(this).attr("data-designer");
}).get();

答案 2 :(得分:2)

您可以使用each()分别与每个元素进行互动:

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

或者您可以使用map()创建一个可以单独处理的所有值的数组:

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

注意,我使用data来获取data-*属性,因为这比直接访问DOM元素的属性更快。

答案 3 :(得分:1)

您需要使用.each()

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

Codepen Demo

答案 4 :(得分:1)

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

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