jQuery expressions are a combination of [wiki:Base/Expression/CSS CSS] 1-3, [wiki:Base/Expression/XPath XPath], plus some custom code to glue it together. Essentially, the best parts from both of these query languages were taken, combined, and used to create the final jQuery expression language. If you already know [wiki:Base/Expression/CSS CSS] (which most web developers do) then you're going to be fine.

=== Getting Started ===

 * [wiki:Base/Expression/CSS jQuery CSS Support]
 * [wiki:Base/Expression/XPath jQuery XPath Support]
 * [wiki:Base/Expression/Custom jQuery Custom Expression]

=== Using [wiki:Base/Expression/CSS CSS] and [wiki:Base/Expression/XPath XPath] Together ===

This is a point of confusion, for some: How can you use [wiki:Base/Expression/CSS CSS] and [wiki:Base/Expression/XPath XPath] together, they're so different! jQuery makes some allowances to make this happen, but we think that developers will really appreciate the advantages of each language. Here are some examples:

Hide all Paragraph elements that contain a link:
{{{

}}}

Show the first paragraph on the page:
{{{
  $("p:eq(0)").show();
}}}

Hide all divs that are currently showing:
{{{
  $("div:visible").hide();
}}}

Get all list items that are children of an unordered list:
{{{
  $("ul/li")
  /* valid too: $("ul > li") */
}}}

Get all Paragraphs, with a class of 'foo', that have a link in them:
{{{
  $("p.foo[a]");
}}}

Get the input field's value with the name of 'bar':
{{{

}}}

All checked radio buttons:
{{{
  $("input[@type=radio][@checked]")
}}}