【发布时间】:2014-03-31 02:42:32
【问题描述】:
这是我尝试获取名为 productId 的 HTML5 数据属性:
$('body').on("click", '.myButton', function () {
var productId = (this).dataset.productId;
});
我有几个带有 myButton 类的按钮,每个按钮都有不同的 productId 作为它们的数据。
但在这种情况下,代码只是从body标签中寻找数据,而不是从myButton类的按钮中寻找。
如何指定要提取数据的 DOM 元素?
理想情况下,这首先应该对我有用,但由于某种原因它不是:
$('.myButton').on("click", null, function () {
var productId = (this).dataset.productId;
});
【问题讨论】:
-
在
(this)之前添加$ -
如果你搜索,这里肯定有成千上万的问题和答案告诉你如何使用
data()或attr()获取数据属性,你为什么要使用dataset?跨度> -
你能把按钮的HTML贴出来吗?
-
"但是在这种情况下,代码只是从 body 标记中查找数据,而不是从 myButton 类的按钮中查找数据。",这不是真的,
this指的是被点击的元素。 -
@undefined 你是对的。谢谢。现在这可以使用 attr 作为发布的答案。
标签: javascript jquery html5-data