Ian Hickson wrote:
On Sun, 4 Sep 2005, Lachlan Hunt wrote:
It also includes Element.hasClassName(), Element.addClassName() and
Element.removeClassName(), which I think should also be added to WA1.
I envisage somehow making className implement the DOMTokenString
interface:
http://whatwg.org/specs/web-apps/current-work/#domtokenstring
...so that you would have Element.className.add(),
Element.className.has(), etc.
Cool, I'll see what I can do about implementing that. I think I may be
able to extend the String() object quite easily for that, though I'll
have to think about it a little more.
What should each of these function calls return? I've listed the ones that my
script currently selects. Are any of them incorrect?
04. getElementsByClassName(" foo"); | A, B, C, D, E, F, G
05. getElementsByClassName("foo "); | A, B, C, D, E, F, G
06. getElementsByClassName(" foo "); | A, B, C, D, E, F, G
07. getElementsByClassName("foo bar"); | E, F
Incorrect; none of the above elements are in classes that have a space
character in the class name.
Fixed. All of those now return none, the other results are unchanged.
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.
What if an element is in the class "foo bar"?
So, you're saying that it's possible that some hypothetical langauge may
define a class attribute with any character as the delimiter, not just
white space? So, for example, a language could use semi-colons like
this: foo:class="foo bar;baz" and thus, for that language, gEBCN("foo
bar") would match that? In which case, would it be worth adding a note
to the spec stating that implementations should not assume that all
languages will use white space delimiters between class names?
On Mon, 5 Sep 2005, Lachlan Hunt wrote:
The problem is that white space handling in parameter values isn't
currently defined at all...
The spec now defines this better. Basically, "foo bar" would never match
anything in HTML, XHTML, MathML or SVG.
Thanks, that's much better.
At the moment I trim any leading and trailing spaces...
The spec doesn't mention trimming, so, no trimming. :-)
Ok, trimming removed.
--
Lachlan Hunt
http://lachy.id.au/