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

Mar*_*ace 22 jquery

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

<data-my-key="blah">
Run Code Online (Sandbox Code Playgroud)

我想向他们所有人发一个事件,怎么办呢?

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

我的最新尝试是:

$('data-my-key').click(...
Run Code Online (Sandbox Code Playgroud)

$(document).find('data-my-key').click(...
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 43

您可以使用属性选择器:

$('[data-my-key]').click(...
Run Code Online (Sandbox Code Playgroud)

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

$(document).children().filter(function() {
    return $(this).data('my-key');
}).click(...;
Run Code Online (Sandbox Code Playgroud)

  • 该死的!! - 我太近了:) (5认同)

Adi*_*dil 7

您可以使用has属性选择器并提供属性名称.

$('[data-my-key]').click...
Run Code Online (Sandbox Code Playgroud)