То, что такое jQuery, имеет идентификатор, эквивалентный из следующего утверждения?
$('#mydiv').hasClass('foo')
таким образом, Вы могли дать имя класса и проверить, что оно содержит предоставленный идентификатор.
что-то как:
$('.mydiv').hasId('foo')
Вы можете встроить эту логику в селектор, объединив несколько селекторов. Например, мы можем выбрать все элементы с заданным id, которые также имеют определенный класс:
$("#foo.bar"); // Matches <div id="foo" class="bar">
Это должно быть похоже на то, что вы напишете в CSS. Обратите внимание, что он не будет применяться ко всем элементам #foo
(хотя должен быть только один), и не будет применяться ко всем элементам .bar
(хотя их может быть много). Он будет ссылаться только на те элементы, которые соответствуют обоим атрибутам.
jQuery также имеет отличный метод .is
, который позволяет определить, обладает ли элемент определенными качествами. Вы можете проверить коллекцию jQuery на соответствие строковому селектору, HTML-элементу или другому объекту jQuery. В данном случае мы просто проверим ее на строковый селектор:
$(".bar:first").is("#foo"); // TRUE if first '.bar' in document is also '#foo'
Я бы, вероятно, использовал $ ('. Mydiv'). Is ('# foo');
Это сказано, если вы знаете Почему бы вам просто не применить его к селектору?
$('#' + theMysteryId + '.someClass').each(function() { /* do stuff */ });