jquery получить все элементы, соответствующие имени атрибута данных

17

Скажем, у меня есть несколько элементов со следующим атрибутом данных:

<data-my-key="blah">

, и я хочу привязать к ним событие, как это можно сделать?

Я пробовал несколько вещей, но не могу заставить его работать.

Моя последняя попытка:

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

и

$(document).find('data-my-key').click(...
    
задан Marty Wallace 20.11.2013 в 10:54
источник

2 ответа

35

Вы можете использовать селектор атрибутов:

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

Обратите внимание, что jQuery хранит атрибуты data , добавленные после загрузки DOM во внутреннем кеше не как атрибут элемента, так что селектор не работает для них. В этом случае вам нужно будет использовать filter :

$(document).children().filter(function() {
    return $(this).data('my-key');
}).click(...;
    
ответ дан Rory McCrossan 20.11.2013 в 10:55
источник
6

Вы можете использовать селектор атрибутов и указать имя атрибута.

$('[data-my-key]').click...
    
ответ дан Adil 20.11.2013 в 10:55
источник