我试图循环遍历一组元素,并根据它们具有的索引获取其数据颜色属性。但是,它告诉我item.data是未定义的。这样做的正确方法是什么?
leng = $('.item').length;
for (i = 0; i < leng; i++){
var item = $('.item').get(i);
var data = item.data('color');
}
答案 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');
}