我有这个HTML:
<img src="http://localhost:82/Clone//images/hosts/Kinx_9843a.jpg" data-name="/images/hosts/K_9843a.jpg" alt="">
我想要得到这个:
$('body').on('click','.hostPic',function(){
console.log($(this).attr('data-name'));
});
每当按下图片时,我想获取其数据名称属性,但它不起作用..当我尝试检索属性时,我会报告undefined
。有什么理由吗?
答案 0 :(得分:4)
将hostPic
类添加到该图像。
此外,您可以使用.data('name')
,但实际上并没有什么区别。较旧的浏览器可能会遇到.data
的问题,但这对我来说从来都不是问题。
答案 1 :(得分:1)
$('.hostPic').click(function() {
console.log($(this).data('name'));
}
答案 2 :(得分:0)
确保您的图片具有“hostPic”类,然后在jQuery中执行以下操作: -
$('.hostPic').on('click', function() {
console.log($(this).data('name'));
}
答案 3 :(得分:0)
以下代码对我有用,也许您正在附加事件错误对象,您可以通过调试this
对象而不是data-name
来理解它。
另一件事是,如果您要将.data
仅用于读取字符串,则应使用.attr
作为.data
缓存,并尝试将值转换为number
之类的适当类型1}}或JSON
这是一个比.attr
更重的过程。
<img src="http://localhost:82/Clone//images/hosts/Kinx_9843a.jpg" data-name="/images/hosts/K_9843a.jpg" alt="">
$("img").click(function () { alert($(this).attr("data-name")); });