Элемент или класс LIKE для jQuery?

По какой-то причине у меня есть классы, называемые .main_sub1, .main_sub2 и т.д. Не обращайте внимания на то, почему я не могу иметь .main .sub.

Есть ли способ с jQuery, вроде того, как это возможно сделать с атрибутами, чтобы получить классы, содержащие main?

Ответ 1

Использование $("[class^=main]") выберет все элементы, чье имя класса начинается с 'main'. Взгляните на jQuery docs о селекторах, есть много других вариантов, которые вы можете использовать, например:

  • [class*=main] будет выбирать элементы, чье имя класса содержит 'main'
  • [class~=main] будет выбирать элементы, у которых имя класса имеет слово 'main' (с разделителями пробелов)
  • [class$=main] будет выбирать элементы, чье имя класса заканчивается на 'main'

Ответ 2

Да, вы можете использовать селектор атрибутов для соответствия определенным значениям для атрибута class.

$('[class^=main]') // class begins with "main"
$('[class*=main]') // class contains "main" anywhere within it

Ответ 3

В этом случае я бы просто рассматривал атрибут класса так же, как стандартный атрибут.

$("[class*=main]")