我有一个具有数据属性的元素列表,如下所示:
<div class="first-div" data-month="march"></div>
<div class="first-div" data-month="june"></div>
现在我想获取所有数据月属性并向其添加一个点击监听器。代码现在如下所示:
$('[data-month]').forEach(function(month) {
$('[data-month="' + month + '"]').bind('click', function() {
// Do something
});
});
但是,这不起作用。月份元素似乎无法使用。有谁知道如何让它发挥作用吗?
它适用于所有浏览器吗?
最佳答案
你的month
变量将是一个jquery对象。您需要提取月份的字符串值。
但据我所知,这似乎没有必要。您可以将事件监听器直接分配给 each
尝试这样做:
$('[data-month]').each(function(i, monthEl) {
$(monthEl).bind('click', function() {
// If you need to get the month value, you can use jQuery's .data()
var monthString = $(monthEl).data('month');
});
});
关于javascript - 如何获取页面上特定数据属性的所有值并使用收集到的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27891875/