jquery获取匹配数据属性名称的所有元素

时间:2013-11-20 09:54:16

标签: jquery

说我有一些具有以下数据属性的元素:

<data-my-key="blah">

我希望将事件附加给所有人,如何做到这一点?

我尝试过一些东西,但无法让它发挥作用。

我最近的尝试是:

$('data-my-key').click(...

$(document).find('data-my-key').click(...

2 个答案:

答案 0 :(得分:42)

您可以使用属性选择器:

$('[data-my-key]').click(...

但是请注意,jQuery存储在DOM加载后的内部缓存中添加的data属性不作为元素的属性,因此选择器不适用于那些。在这种情况下,您需要使用filter

$(document).children().filter(function() {
    return $(this).data('my-key');
}).click(...;

答案 1 :(得分:7)

您可以使用has attribute selector并提供属性名称。

$('[data-my-key]').click...