jQuery Определяет, имеет ли подобранный класс данный идентификатор

То, что такое jQuery, имеет идентификатор, эквивалентный из следующего утверждения?

$('#mydiv').hasClass('foo')

таким образом, Вы могли дать имя класса и проверить, что оно содержит предоставленный идентификатор.

что-то как:

$('.mydiv').hasId('foo')
91
задан Nicholas Murray 12 February 2010 в 16:45
поделиться

3 ответа

Вы можете встроить эту логику в селектор, объединив несколько селекторов. Например, мы можем выбрать все элементы с заданным 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'
164
ответ дан 24 November 2019 в 06:41
поделиться

Я бы, вероятно, использовал $ ('. Mydiv'). Is ('# foo'); Это сказано, если вы знаете Почему бы вам просто не применить его к селектору?

43
ответ дан 24 November 2019 в 06:41
поделиться
$('#' + theMysteryId + '.someClass').each(function() { /* do stuff */ });
4
ответ дан 24 November 2019 в 06:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: