通过循环索引获取数据属性

时间:2015-05-07 09:36:44

标签: javascript jquery

我试图循环遍历一组元素,并根据它们具有的索引获取其数据颜色属性。但是,它告诉我item.data是未定义的。这样做的正确方法是什么?

leng = $('.item').length;
for (i = 0; i < leng; i++){
    var item = $('.item').get(i);
    var data = item.data('color');

}

3 个答案:

答案 0 :(得分:1)

您可以简单地使用jquery。each()

layoutManager:didCompleteLayoutForTextContainer:atEnd:

假设您希望将此值保留在某个位置,则可以使用.map()

$(".item").each(function () {
  var data = $(this).data("color");
});
var data = $(".item").map(function() {
  return $(this).data("color");
}).get();

console.log(data); //["red", "green", "yellow", "blue"]

答案 1 :(得分:1)

$(".item").each(function () {
  var data = $(this).data("color");
});

$(".item").each(function () {
  var data = $(this).attr("data-color");
});

答案 2 :(得分:0)

get()尝试访问HTML元素,但.data()是一个jQuery函数。尝试以下.eq()返回一个jQuery对象:

leng = $('.item').length;
for (i = 0; i < leng; i++){
    var item = $('.item').eq(i);
    var data = item.data('color');

}