Javascript 使用jQuery获取数据属性
Javascript 使用jQuery获取数据属性,javascript,jquery,css,html,Javascript,Jquery,Css,Html,元素有一个数据id属性,我想使用jQuery检索该属性。我相信.data()函数可以做到这一点 $('.photo').get(0).data('id') 问题:当我尝试使用.data('id')检索属性时,我得到错误: Uncaught TypeError: Object #<HTMLImageElement> has no method 'data' uncaughttypeerror:对象#没有方法“data” 我哪里出错了 jsfiddle:您需要将数据用于jquer
元素有一个数据id
属性,我想使用jQuery检索该属性。我相信.data()
函数可以做到这一点
$('.photo').get(0).data('id')
问题:当我尝试使用.data('id')
检索属性时,我得到错误:
Uncaught TypeError: Object #<HTMLImageElement> has no method 'data'
uncaughttypeerror:对象#没有方法“data”
我哪里出错了
jsfiddle:您需要将数据用于jquery对象,get(0)将返回元素
$('#result').html( $('.photo').data('id') );
$(function () {
var photos = $('.photo');
$('#result').html(photos.eq(0).attr('data-id'));
});
检查下面的小提琴
您需要将数据用于jquery对象,get(0)将返回元素
$('#result').html( $('.photo').data('id') );
$(function () {
var photos = $('.photo');
$('#result').html(photos.eq(0).attr('data-id'));
});
检查下面的小提琴
$('.photo').get(0)
将返回HTMLImageElement
,而不是jQuery对象,因此它没有方法.data
您应该只使用:$('.photo').data('id')
$('.photo').get(0)
将返回HTMLImageElement
,而不是jQuery对象,因此它没有方法.data
您只需使用:$('.photo').data('id')
使用.attr()函数即可。像
$('#result').html( $('.photo').attr('data-id') );
使用.attr()函数。像
$('#result').html( $('.photo').attr('data-id') );
正如其他人所说,您的问题是
.get(0)
,它返回HTML元素本身,而不是jquery对象。要获取某个元素,请使用:eq
伪选择器,如:
正如其他人所说,您的问题是
.get(0)
,它返回HTML元素本身,而不是jquery对象。要获取某个元素,请使用:eq
伪选择器,如:
在这种情况下,使用jQuery
.get()
需要使用.eq()
。您还可以使用.data()
,它用于在dom上存储数据。您需要使用.attr()
,它允许您访问元素的属性
$('#result').html( $('.photo').data('id') );
$(function () {
var photos = $('.photo');
$('#result').html(photos.eq(0).attr('data-id'));
});
这应该对您起作用了:使用jQuery
.get()
在这种情况下,您需要使用.eq()
。您还可以使用.data()
,它用于在dom上存储数据。您需要使用.attr()
,它允许您访问元素的属性
$('#result').html( $('.photo').data('id') );
$(function () {
var photos = $('.photo');
$('#result').html(photos.eq(0).attr('data-id'));
});
现在,这应该适用于您:
data()
方法,而像您的xx..get(0)
这样的DOM对象没有方法data()代码>
data()
方法,必须确保对象是jQuery对象data()
方法,而像您的xx..get(0)
这样的DOM对象没有方法data()代码>
data()
方法,必须确保对象是jQuery对象$('#result').html($('.photo').data('id'))
对我有用。$('#result').html($('.photo').data('id'))
对我有效。或者,您可以使用first()
从元素集中获取第一个元素<代码>$('.photo').first().data('id')。或者,您可以使用first()
从元素集中获取第一个元素<代码>$('.photo').first().data('id')。