我有一些动态插入的输入,并且我正在使用.each()
访问它们。
html:
<div id="filter">
<input type="hidden" data-car="H car 1" data-img="http://dummyimage.com/117x117/000/ffffff.jpg&text=hyundai%202">
<input type="hidden" data-car="W car 2" data-img="http://dummyimage.com/117x117/000/ffffff.jpg&text=wolks%202">
<input type="hidden" data-car="P car 3" data-img="http://dummyimage.com/117x117/000/ffffff.jpg&text=peugeot%202">
</div>
我知道我可以这样访问属性:
$('#filter input').each(function(i,j){
console.log($('#filter input:eq('+i+')').attr('data-car'));
});
我知道我可以这样访问属性:
console.log($('#filter input:eq('+i+')').attr('data-car'));
但是我正在尝试以这种方式访问,但它不起作用:
console.log(j.attr('data-car'))
是否可以使用类似的方法访问属性?
您可以这样使用:
$('#filter input').each(function(i, j){
console.log($(j).data('car'));
});
jQuery为此具有一个.data() method,并且您应该记住包装j
,以便它可以访问jQuery的方法,例如:$(j).data('car')
$('#filter input').each(function() {
console.log($(this).attr('data-car'));
}
您应该可以使用
$(this).attr('data-car'));