我遗漏了一些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对象中的其他键?
答案 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);