ID Basis DOM manipulation

16.12.2011 19:56 Uhr

Wenn ich mit vanilla JavaScript arbeite, dann nutze ich immer diesen Snippet.

var Dom = {
    get:     function(id)       { return (id instanceof HTMLElement) ? id : document.getElementById(id); },
    set:     function(id, html) { Dom.get(id).innerHTML = html; },
    disable: function(id, on)   { Dom.get(id).className = on ? "disabled" : "" }
}

2 Antworten

#1

18.12.2011 21:21 Uhr

Eine vielleicht bescheuerte Frage, aber weshalb nutzt du kein jQuery?

#2

19.12.2011 15:59 Uhr

Das kam durch ein Projekt, welches ich umgesetzt habe. Dort sollte ich eine iPad-App in JS (Javascript) schreiben. Diese hat sich Daten von einer API geholt und diese im localStorage abgelegt. Nun musste bei jedem Aufruf, die Darstellung dynamisch gerendert werden, abhängig von dem aktuellen Verbindungsstatus (on- und offline) und dessen Typ (3G, 2G usw.).

Hier war ich durch den enormen Funktionsaufwand gezwungen, objektorientiert zu arbeiten.

Nun hab ich mir backbone.js und JavaScriptMVC angesehen. Beide waren vom Ansatz zu abstrakt bzw. versuchen ein Klassensystem nachzuahmen was es in JS nicht gibt. Daher beschloss ich es vorerst ohne ein Framework umzusetzen (ich kannte YUI3 noch nicht). Und zur kleinen Ergänzung der Funktionalität, benutzte ich das wirklich tolle zepto.js von Thomas Fuchs.

Zepto.js ist ein sehr schlankes und dem jQuery Syntax gleichendes Framework, bei dem man alle Funktionalität wie z.B. ajax nachträglich hinzufügt. Und das Beste ist, das der Kern von zepto.js ein reines DOM API Framework ist.

Durch das objektorientiert Arbeiten mit meinem Code, musste ich dann mit dem typischen jQuery Syntax brechen. Was meiner Meinung nach auch eine riesige Schwäche ist. Dadurch endet jeder Code, bei mir jedenfalls, in Spaghetticode. ;)

Wie auch immer, seit dem benutzte ich bei kleineren Projekten eine eigene objektorientierte Toolbox. Und wenn es dann vom Javascript aufwand größer wird, greife ich auf YUI zurück.

Ähnliche Fragen



Datenschutzerklärung · Impressum