Nathan Sweet wrote:
> [ ... ]                          [T]he more I delve into building my engine
> the more I see that the philosophical argument for using CSS is weak and
> tenuous. I'm planning on building another engine soon that only works for
> the latest browsers only (a sort of high-end engine and library), and I
> think I will probably use XPath for that.

The original reasons for CSS selectors, IMHO, was that they were
familiar to web developers.  Anyone who'd built anything of substance
with HTML/CSS already understood how these selectors targeted
particular elements on the page and could easily intuit how that
knowledge transferred over to scripting the elements.  I think there
was also a misapprehension about how browsers used CSS that made CSS-
based queries seem useful: even those in the know often conflated the
notion of a CSS selector targeting a collection of nodes with the idea
that the browser was targeting that set of nodes when presented with
the selector.  With that confusion, it was a very simple leap to use
the CSS selector as a way to target the nodes from JS.  For the most
part this did, and still does make sense.

As more developers are coming to use these tools without necessarily
having worked extensively with CSS, these sorts of crutches are less
relevant, though, and maybe it's time to rethink this.  XPath is
inarguably more expressive than CSS.  And it's designed for the same
sort of targeting that we expect in DOM scripting.  So there is a lot
to be said for using it.  The biggest downfall is that it rarely gains
us anything; how often do we really need to target something that
can't be expressed with CSS?  And what's the point of adding a new
tool that adds no *needed* functionality?

  -- Scott

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/jsmentors@jsmentors.com/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/jsmentors@googlegroups.com/

To unsubscribe from this group, send email to
jsmentors+unsubscr...@googlegroups.com

Reply via email to