Jquery получить все элементы, соответствующие имени атрибута данных
Скажем, у меня есть несколько элементов со следующим атрибутом данных:
<data-my-key="blah">
и я хочу привязать к ним событие, как это можно сделать?
Я пробовал несколько вещей, но не могу заставить его работать.
Моя последняя попытка:
$('data-my-key').click(...
и
$(document).find('data-my-key').click(...
Ответы
Ответ 1
Вы можете использовать селектор атрибутов:
$('[data-my-key]').click(...
Обратите внимание, однако, что jQuery сохраняет атрибуты data
, добавленные после загрузки DOM, в нем внутренний кеш не является атрибутом элемента, поэтому селектор не работает для них. В этом случае вам нужно будет использовать filter
:
$(document).children().filter(function() {
return $(this).data('my-key');
}).click(...;
Ответ 2
Вы можете использовать селектор атрибутов и указать имя атрибута.
$('[data-my-key]').click...