Tuesday, April 17, 2012

Element or class LIKE selector for JQuery?


For whatever reason I have these classes called .main_sub1 , .main_sub2 etc. Never mind why I can't have .main .sub .



Is there a way with JQuery, sort of in the way it is possible to do with attributes, to get the classes containing main ?


Source: Tips4all

4 comments:

  1. Using $("[class^=main]") will select all elements whose classname starts with 'main'. Take a look at http://api.jquery.com/category/selectors/, there are a lot of other variations you can use, for example:


    [class*=main] will select elements whose classname contains 'main'
    [class~=main] will select elements whose classname has the word 'main' (delimited with spaces)
    [class$=main] will select elements whose classname ends in 'main'


    Etc.

    ReplyDelete
  2. Yes, you can use an attribute selector to match certain values for the class attribute.

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

    ReplyDelete
  3. In this instance, I would just treat the class attribute in the same way as you do a standard attribute.

    $("[class*=main]")

    ReplyDelete
  4. JQuery has support for wildcards.

    ReplyDelete