Как проверить наличие класса в jquery
Здравствуйте, как я могу проверить есть ли класс у какого-либо блока с помощью jquery?
Пробовал вот так, но не работает
Функция .hasClass(), простой пример, выводит сообщение о наличии класса test1 у элемента при клике:
![]()
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.13.43305
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Проверяем наличие класса у элемента на jQuery/JavaScript
В этой статье я хотел бы показать вам несколько способов, способных организовать проверку на наличие класса в неком элементе. Самих по себе классов, как вы знаете, у элемента может быть несколько, и все они указываются через пробел.
Наша же задача – проверить, присутствует ли определенный класс (или несколько классов) у элемента или нет, и дальше выполнить нужное нам действие.
Все описанные способы мы будем тестировать на конструкции:
А теперь о каждом подробнее.
Проверяем наличие класса у элемента на jQuery
В jQuery проверка наличия класса осуществляется посредством метода hasClass.
Для отрицания (то есть для проверки отсутствия класса) вы добавляете знак восклицания:
В таком случае действие будет выполнено, если указанный класс отсутствует.
Проверяем наличие класса у элемента на JavaScript
В JavaScript код будет чуть больше, но по конструкции аналогичен варианту с jQuery:
.hasClass()
Description: Determine whether any of the matched elements are assigned the given class.
version added: 1.2 .hasClass( className )
Elements may have more than one class assigned to them. In HTML, this is represented by separating the class names with a space:
The .hasClass() method will return true if the class is assigned to an element, even if other classes also are. For example, given the HTML above, the following will return true :
While this would return false :
As of jQuery 1.12/2.2, this method supports XML documents, including SVG.
Example:
Looks for the paragraph that contains 'selected' as a class.
Books
Copyright 2023 OpenJS Foundation and jQuery contributors. All rights reserved. See jQuery License for more information. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them. OpenJS Foundation Terms of Use, Privacy, and Cookie Policies also apply. Web hosting by Digital Ocean | CDN by StackPath
Методы has и hasClass библиотеки jQuery
Два очень похожих метода библиотеки jQuery, служащих для фильтрации выборки — метод и метод .
И действительно, оба этих метода похожи между собой. Чтобы было понятно, лучше сразу перейду к примерам.
Метод .has()
Метод фильтрует элементы, имеющие в своем составе указанные в селекторы.
То есть: всем элементам , имеющим в качестве потомков (в своем составе) элемент , присвоить класс .
На лицо, как бы это сказать, обратная фильтрация — справа налево. Обычно все методы библиотеки jQuery работают слева направо.
Этот метод чем-то похож на метод . В качестве примера рассмотрим такой вариант:
… что читается таким образом: всем элементам , являющимся родителями элементов , присвоить класс .
Напомню, что метод работает именно с селекторами и имеет такой синтаксис:
Метод .hasClass()
Метод очень похож по принципу действия на предыдущий метод — но это только кажущееся впечатление.
Во-первых, как понятно из имени метода , что он работает с классами, а не селекторами.
То есть, синтаксис метода таков:
Во-вторых, метод возвращает логическое или , в отличие от метода , который возвращает массив объектов, доступных для дальнейшей обработки.
… что читается таким образом: если элементы имеют класс , то всем элементам , являющимся потомками элементов , присвоить класс ; иначе всем элементам присвоить класс .
Стоит обратить внимание, что в случае метода имеет место быть обычный способ фильтрации элементов — слева направо; выборка сужается по мере появления новых условий.
Вот такая картина получается, с двумя этими методами — и .
Красивая функция trackBy
Пример красивой функции trackBy для Angular. Функция понравилась своей лаконичностью:<% highlight typescript %>public trackByNumber = (_. … Continue reading