Anne van Kesteren wrote:
Quoting Kornel Lesinski <[EMAIL PROTECTED]>:

It will also solve IMHO unclear case of getElementsByClassName("foo bar") matching "bar foo". It would, as opposed to behavior where space is both separator and part of class name.

This is not how the CLASS attribute works. "foo bar" means the element has two classes bound to it, "foo" and "bar". With your syntax, getElementsByClassName("bar foo") would also need to match an element with "foo bar" as value for the CLASS attribute.

The problem is that white space handling in parameter values isn't
currently defined at all, and I implemented it assuming that each
parameter value would contain only one class name.  Handling the
(currently) erroneous parameter ("foo bar")is basically a form of error
recovery, and the fact that it returns anything at all is merely a
result of how the regex is constructed using it.

Before I can fix the implementation in any way, I need to know how white
space should be handled before (" foo"), after ("foo ") and inside ("foo
bar") the parameter value.  At the moment I trim any leading and
trailing spaces in most cases (there's currently a bug that stops it
working sometimes), but I don't really handle white space inside very well.

("foo bar") could basically be handled in the following ways and I need
to know which:

1. Equivalent to ("foo", "bar") (or [class~=foo][class~=bar], or
   .foo.bar in CSS)
2. The way it currently works. ie. matches "foo bar", not "bar foo"
3. Error, return nothing.

--
Lachlan Hunt
http://lachy.id.au/


Reply via email to