peterS.: Standardisierung von [getElementsByClassName(s)]

Beitrag lesen

hallo Interessierte,

auf der "whatwg" mailingliste wird nun schon seit langer zeit um eine
spezifikation fuer den DOM getter [getElementsByClassName(s)] gerungen.

der aktuelle stand im dazugehoerigen working draft laesst sich nachlesen:
http://www.whatwg.org/specs/web-apps/current-work/#getelementsbyclassname

einen eindruck ueber die diskussionen auf den haupt- und nebenschauplaetzen
gewinnt man ueber google.

ich weiss, dass es einige muehe kostet, sich in den aktuellen stand der
dinge einzulesen. trotzdem, oder besser sogar dessen ungeachten, moechte
ich von Euch wissen, was Ihr von einer solchen methode hinsichtlich design
(anzahl, typ, namen der argumente) und  arbeitsweise (bedingungen fuer
(un)gueltige matches - typ der zurueckzugebenden trefferliste) erwartet.

ich persoenlich halte den aktuellen wurf fuer nicht ausreichend zuendegedacht.

und da dieses baby hier im forum vor knapp 5 jahren das licht der welt
erblickte, ist es an der zeit, sich aktiv um dessen wohl zu kuemmern.

ich plaediere fuer eine sowohl prototypische implementierung fuer [[Node]]/
[[HTMLElement]] und [[NodeList]] als auch fuer eine *statische*/generische
implementierung fuer [[HTMLDocument]], [[Node]] und [[NodeList]].

es gibt nur ein *one fits all* argument fuer die suche - nennen wir es
[classNames]. dieses darf sowohl [string]-value/[String]-objekt als auch
[RegExp]-objekt sein.
der string-typ erlaubt es, die zu suchenden klassennamen sowohl nur
kommasepariert als auch nur *white space*-separiert als auch in einer
mischung aus beiden zu notieren.
*white space*-separierte klassennamen werden als mutiple klasse erkannt.
kommaseparierte klassennamen werden wie eine ODER liste zu suchender
klassennamen behandelt.
der regulaere ausdruck wird von der methode direkt als filter eingesetzt.

bis hierhin ist soweit alles klar, und eine implementierung, wie gerade
beschrieben, verlinke ich hier schon seit ein paar jahren:
http://www.pseliger.de/jsExtendedApi/jsApi.document.getElementsByClassNames.js

viel raum zur diskussion bieten aber die individuell unterschiedlichen
erwartungshaltungen von entwicklern hinsichtlich des suchergebnisses
beim einsatz multipler klassen.

soll die filterung eher der css-spezifikation folgen - alle moeglichen
losen kombinationen der vorgegebenen klassennamen sind gueltig - oder
soll die vorgegebene reihenfolge der klassennamen ein filterkriterium
sein, so wie es einige der heutigen implementierungen handhaben?

und hier die erstveroeffentlichung einer englischen dikussionsgrundlage
meinerseits:

http://pseliger.de/work-in-progress/js-api.DOM.getElementsByClassNames.dev.w3c-WD.pdf
http://pseliger.de/work-in-progress/js-api.DOM.getElementsByClassNames.dev.w3c-WD.txt
http://pseliger.de/work-in-progress/js-api.DOM.getElementsByClassNames.dev.w3c-WD.js

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]