peterS.: schraubendreher vs. werkzeugkoffer

Beitrag lesen

gruss Daniel,

eben, das ist durchaus der ansatz fuer schlankeren

Nö; Die Prototype-Variante ist - abgesehen von den IE-Würgarounds ...

davon laesst sich nicht absehen, denn darum geht es, um *genau einen*
   *einheitlichen* code.

... auch nicht viel umfangreicher:

HTMLElement.prototype.getElementsByClassName = function(klasse){

var alles = this.getElementsByTagName("*");

}

  
   das hat ja auch niemand in abrede gestellt. ich selbst habe seit jahren  
   erweiterungen in meiner code-ramschkiste, die auf prototypischen  
   erweiterungen von DOM elementen und/oder dem einsatz von \_\_getter\_\_,  
   \_\_setter\_\_ beruhen (z.b. fuer listen, collections, dictionaries ...).  
  
   die realitaet sieht aber anders aus, und nicht nur der msie unterstuetzt  
   diese features - denn das sind sie nunmal - nicht. kein browserhersteller  
   ist verpflichtet, die elemente des DOM wie native, durch den standard  
   ECMA-262, festgelegte JavaScript-objekte zu implementieren.  
  
   nachdem ich das endlich akzeptiert hatte, habe ich nach anderen  
   loesungen und loesungsansaetzen gesucht.  
  
  

> > ... uebersichlicheren code  
>   
> Da muss ich dir widersprechen.  
>   
> `document.getElementById("foo").getElementsByClassName("bar")[0];`{:.language-javascript}  
>   
> ist IMHO um einiges übersichtlicher als  
>   
> `getElementsByClassName("bar",document.getElementById("foo"))[0];`{:.language-javascript}  
>   
> …weil es die richtige Reihenfolge der Referenzierung wiedergibt.  
  
   volle zustimmung - ich arbeite auch lieber mit dem punkt-operator.  
  

> Das Mag bei diesem Beispiel noch nicht so stark in's Gewicht fallen,  
> aber wenn die Schachtelungen immer tiefer werden, blickt man  
> irgendwann nicht mehr durch.  
  
   richtig, aber das trifft auch auf den von Dir beschriebene idealfall  
   zu, wo es ebenfalls oft angebracht ist, solch langen referenzen  
   voruebergehend einer lokalen variablen aufzubuerden.  
   im uebrigen schaffen die grossen bibliotheken das von Dir kritisierte  
   stilistische merkmal ebenfalls nicht aus der welt; und einige nur dann,  
   solange man nicht den jeweils spezifischen namensraum verlaesst bzw.  
   die dort drinnen geltenden konventionen (und es sind immer andere)  
   bricht.  
  
   und genau aus diesen gruenden, und weil Felix' werkzeug \*nur\* ein  
   ordentlicher schraubendreher und kein profiwerkzeugkoffer sein wollte,  
   ist der von ihm eingeschlagene weg der fuer ihn direkt ins ziel fuehrende.  
  
  
   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](http://javascript.crockford.com/)  
  
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]