How about using native XPath methods when they are available, falling
back to how it is done now when those methods are not available?

i.e.
$("//h2", context)

In Firefox / Gecko based browsers:
document.evaluate('//h2', context, null, XPathResult.ANY_TYPE, null)

That would hopefully improve performance. The main problem though is
that more complex XPath expressions that can't be mapped to CSS may be
used.

I am no XPath guru, so would be unsure how to implement this.

There is an implementation for IE in JavaScript (as it does not
support XPath natively): http://sourceforge.net/projects/js-xpath/

Opera 9 supports most of the XPath 1.0 specification. Not sure what
Safari supports though. I can't find any pages on Apple's site listing
the DOM implementation in Safari. Their documention for web developers
seems poor (or I just don't know which pages to go to), although the
API docs are meant to be part of OSX. The only thing I can find is at
http://developer.apple.com/internet/webcontent/index.html

Perhaps as a plugin (as it could add considerably to the code size)?

References:
http://developer.mozilla.org/en/docs/Introduction_to_using_XPath_in_JavaScript
http://developer.mozilla.org/en/docs/DOM:document.evaluate

_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to