Thursday, September 11, 2014

How to use JQuery Selectors?

The selectors are very useful and would be required at every step while using jQuery. They get the exact element that you want from your HTML document.
Following table lists down few basic selectors and explains them with examples.
SelectorDescription
NameSelects all elements which match with the given element Name.
#IDSelects a single element which matches with the given ID
.ClassSelects all elements which match with the given Class.
Universal (*)Selects all elements available in a DOM.
Multiple Elements E, F, GSelects the combined results of all the specified selectors E, F or G.
Similar to above syntax and examples, following examples would give you understanding on using different type of other useful selectors:
  • $('*'): This selector selects all elements in the document.
  • $("p > *"): This selector selects all elements that are children of a paragraph element.
  • $("#specialID"): This selector function gets the element with id="specialID".
  • $(".specialClass"): This selector gets all the elements that have the class of specialClass.
  • $("li:not(.myclass)"): Selects all elements matched by
  • that do not have class="myclass".
  • $("a#specialID.specialClass"): This selector matches links with an id of specialID and a class of specialClass.
  • $("p a.specialClass"): This selector matches links with a class of specialClass declared within elements.
  • $("ul li:first"): This selector gets only the first
  • element of the
      .
  • $("#container p"): Selects all elements matched by that are descendants of an element that has an id of container.
  • $("li > ul"): Selects all elements matched by
      that are children of an element matched by
  • $("strong + em"): Selects all elements matched by that immediately follow a sibling element matched by .
  • $("p ~ ul"): Selects all elements matched by
      that follow a sibling element matched by .
  • $("code, em, strong"): Selects all elements matched by or or .
  • $("p strong, .myclass"): Selects all elements matched by that are descendants of an element matched by as well as all elements that have a class of myclass.
  • $(":empty"): Selects all elements that have no children.
  • $("p:empty"): Selects all elements matched by that have no children.
  • $("div[p]"): Selects all elements matched by
    that contain an element matched by .
  • $("p[.myclass]"): Selects all elements matched by that contain an element with a class of myclass.
  • $("a[@rel]"): Selects all elements matched by that have a rel attribute.
  • $("input[@name=myname]"): Selects all elements matched by that have a name value exactly equal to myname.
  • $("input[@name^=myname]"): Selects all elements matched by that have a name value beginning with myname.
  • $("a[@rel$=self]"): Selects all elements matched by that have rel attribute value ending with self
  • $("a[@href*=domain.com]"): Selects all elements matched by that have an href value containing domain.com.
  • $("li:even"): Selects all elements matched by
  • that have an even index value.
  • $("tr:odd"): Selects all elements matched by that have an odd index value.
  • $("li:first"): Selects the first
  • element.
  • $("li:last"): Selects the last
  • element.
  • $("li:visible"): Selects all elements matched by
  • that are visible.
  • $("li:hidden"): Selects all elements matched by
  • that are hidden.
  • $(":radio"): Selects all radio buttons in the form.
  • $(":checked"): Selects all checked boxex in the form.
  • $(":input"): Selects only form elements (input, select, textarea, button).
  • $(":text"): Selects only text elements (input[type=text]).
  • $("li:eq(2)"): Selects the third
  • element
  • $("li:eq(4)"): Selects the fifth
  • element
  • $("li:lt(2)"): Selects all elements matched by
  • element before the third one; in other words, the first two
  • elements.
  • $("p:lt(3)"): selects all elements matched by elements before the fourth one; in other words the first three elements.
  • $("li:gt(1)"): Selects all elements matched by
  • after the second one.
  • $("p:gt(2)"): Selects all elements matched by after the third one.
  • $("div/p"): Selects all elements matched by that are children of an element matched by
    .
  • $("div//code"): Selects all elements matched by that are descendants of an element matched by
    .
  • $("//p//a"): Selects all elements matched by that are descendants of an element matched by
  • $("li:first-child"): Selects all elements matched by
  • that are the first child of their parent.
  • $("li:last-child"): Selects all elements matched by
  • that are the last child of their parent.
  • $(":parent"): Selects all elements that are the parent of another element, including text.
  • $("li:contains(second)"): Selects all elements matched by
  • that contain the text second.
You can use all the above selectors with any HTML/XML element in generic way. For example if selector $("li:first") works for
  • element then $("p:first") would also work for element.