说我有一些具有以下数据属性的元素:
<data-my-key="blah">
我希望将事件附加给所有人,如何做到这一点?
我尝试过一些东西,但无法让它发挥作用。
我最近的尝试是:
$('data-my-key').click(...
和
$(document).find('data-my-key').click(...
答案 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...