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);
Known to work on the following platforms:
You can get cssQuery from the download page. The compressed file contains the source code and a test page.