version 2.0.2

getElementsByTagName? Pah!


cssQuery() is a powerful cross-browser JavaScript function that enables querying of a DOM document using CSS selectors. All CSS1 and CSS2 selectors are allowed plus quite a few CSS3 selectors.



elements = cssQuery(selector [, from]);

where selector (required) is a valid CSS selector and from (optional) is a document, element or array of elements which is filtered by selector.

The function returns a JavaScript array of elements. If there is no match, an empty array is returned.

Some examples:

// find all paragraphs that are direct descendants
//  of the document body
var tags = cssQuery("body > p");

// find all elements with the "href" attribute
var tags = cssQuery("[href]");

// find all anchor elements with "href" equal to "#"
var tags = cssQuery("a[href='#']");
// find all images contained by the above anchors
var images = cssQuery("img", tags);

// find all lists
var tags = cssQuery("dl,ol,ul");

// query an external xml document
var tags = cssQuery("my|:root>my|link", myXMLDoc);

// just plain complicated
var complex = "p>a:first-child+input[type=text]~span";
var tags = cssQuery(complex);

Allowed Selectors


Known to work on the following platforms:

Source Code


You can get cssQuery from the download page. The compressed file contains the source code and a test page.