Подтвердить что ты не робот

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

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

<data-my-key="blah">

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

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

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

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

и

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

Ответ 1

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

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

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

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