Simon Willison’s Weblog

Subscribe

getElementsBySelector()

25th March 2003

Inspired by Andy, I decided to have a crack at something I’ve been thinking about trying for a long time. document.getElementsBySelector is a javascript function which takes a standard CSS style selector and returns an array of elements objects from the document that match that selector. For example:

document.getElementsBySelector('div#main p a.external')

This will return an array containing all of the links that have ’external’ in their class attribute and are contained inside a paragraph which is itself contained inside a div with its id attribute set to ’main’.

So far I’ve only tested it on Phoenix but it seems to work as intended for the small number of test cases I’ve tried. If you spot any bugs please let me know. I’m about to fire up a Windows PC and see how much it breaks in IE...

Update: I’ve put together a demo page showing the function in action. It works fine in IE 6.

This is getElementsBySelector() by Simon Willison, posted on 25th March 2003.

Next: Retrieving all DOM descendants

Previous: Date-centric vs Entry-centric

Monthly briefing

Sponsor me for $10/month and get a curated email digest of the month's most important LLM developments.

Pay me to send you less!

Sponsor & subscribe

Previously hosted at http://simon.incutio.com/archive/2003/03/25/getElementsBySelector