jquery选择器和循环

时间:2013-04-03 17:41:10

标签: jquery-selectors jquery

我遗漏了一些jQuery对象的结构。我需要访问<li>项的数据属性。 这会产生预期的输出,将最后<li>的数据对象打印到控制台:

console.log($('#assessment_list li:last').data());

但是当我尝试迭代较大的对象以获取每个<li>的数据时,我收到错误:

for (item in $('#assessment_list li')){
    console.log(item.data());
}

抛出:“未捕获的TypeError:对象0没有方法'数据'”。我应该如何改变for循环中的选择器以仅命中<li>元素而不是jQuery对象中的其他键?

2 个答案:

答案 0 :(得分:3)

尝试:

$('#assessment_list li').each(function() {
   console.log( $(this).data() );
});

答案 1 :(得分:-1)

您可以使用map获取所有数据值的数组:

var values = $('#assessment_list li').map(function() {
    return $(this).data();
}).get();

console.log(values);