javascript - 如何获取页面上特定数据属性的所有值并使用收集到的值

标签 javascript jquery html

我有一个具有数据属性的元素列表,如下所示:

<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/

相关文章:

javascript - 如何编写双重嵌套 for 循环的计数代码?

javascript 简写 if else 回调

c# - 在工具提示中显示 Web 表单

javascript - 是否可以在导航栏中隐藏标题 Logo ,但在 Bootstrap 中向下滚动时会出现?

javascript - 在不同的span元素上触发类似的JQuery元素

解析不同参数对象的Javascript泛型方法

javascript - 如何使所有选择的元素加宽 15px?

javascript - 谷歌图表,将数据表行附加到其他数据表

javascript - 列表项未正确更改样式 JQuery

html - 为什么我需要设置背景颜色?