Как я могу сопоставить все элементы, которые имеют определенный атрибут, который добавляется во время выполнения?
Например, код:
$('[onkeydown]')
будет успешно соответствовать:
<div onkeydown="foo();">
, но не соответствует следующему div:
<div id="mydiv">
// ....
<script type="text/javascript">
var element = document.getElementById('mydiv');
element.onkeydown = foo;
</script>
Примечание: атрибут ID используется в качестве примера. Я не знаю значений атрибутов идентификатора всех элементов, которые я хочу сопоставить, поэтому, пожалуйста, предоставьте решение, которое соответствует всем элементам, для которых указан атрибут.
Для пояснения, во втором примере следующий код правильно возвращает используемую функцию:
$('#mydiv').attr('onkeydown') // == foo
Примечание: если я делаю то же самое выше, но вместо использования события (onkeydown
) я использую другой атрибут, который не является событием (например, title
), он будет успешно соответствовать динамически добавлен атрибутов. Таким образом, кажется, что это только проблема с событиями.