我有一个看起来像这样的元素列表
<li class="depuy">
<a class="comp" data-color="#66" href="#">
Something
</a>
</li>
在 Backbone 渲染中,我想为这些取自其数据属性的元素添加背景色。我试着这样做
var som_array = $(".com a");
var som_array_length = som_array.length;
for(var i=0;i<som_array_length;i++)
{
var som_object = som_array[i].data("color");
console.log(som_object);
}
但在控制台中,我收到此消息 Uncaught TypeError: Object [object HTMLAnchorElement] has no method 'data'
但如您所见,它有。可能是什么问题?
最佳答案
这是因为当您使用它的索引访问 jQuery 对象中的项目时,您访问的是实际项目,而不是包含 data
方法的 jQuery 对象。
试试这个:
$(".depuy a").each(function() {
console.log($(this).data('color'));
});
关于Javascript , JQ 数据类型冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18352903/