Oliver: DOM Zugriff

Hi, soweit ich weiss sollte man Html-Elemente/Attribute immer
klein schreiben. Korregiert mich bitte wenn ich mich irre.

zb.
<h1> besser als <H1>
<input value=""> besser als <INPUT VALUE="">

Nun habe ich etliche Stunden mit einer Fehlersucbe in einem Script
verbracht, weil ich nicht darauf gekommen wäre, dass DOM-Abfragen
wie "nodeName" die Ausgabe grossschreiben.

Bisher hat ich dieser Effekt immer nur genervt bei diversen Editoren.
Aber bei DOM hätte ich das nicht erwartet.

Jetzt überlege ich wer hier falsch liegt DOM oder ich?
Im letzteren Fall, ok was solls gewöhne ich mir halt Grossschreibung
an. Im ersteren Fall aber verstehe ich nicht wie auf der einen Seite
Kleinschreibung propagiert wird und Javascript/DOM sich einen feuchten
Kehricht darum kümmert.

Oder ist das Ganze Browserabhängig?

Wer kann die Sache etwas aufklären?

Oli

  1. Hallo Oliver,

    soweit ich weiss sollte man Html-Elemente/Attribute immer
    klein schreiben.

    Nein, von immer kann nicht die Rede sein. In HTML kannst Du Dich bei den HTML-Elementen kreativ auslassen. Soll heißen, auch ein <iNPuT vAlUE=""> wird seinen Dienst tun und ist korrekt. In XHTML hingegen sind diese klein zu schreiben, ja, vgl Unterschiede zwischen XHTML und HTML. Natürlich können die Inhalte der Attribute wieder großgeschriebene Worte Enthalten: <input value="FOO">

    Bisher hat ich dieser Effekt immer nur genervt bei diversen Editoren.
    Aber bei DOM hätte ich das nicht erwartet.

    Du bringst hier was durcheinander. JavaScript als Programmiersprache unterliegt natürlich anderen Regeln als ein einfaches (Text-)Dokument wie HTML. Die Methode, die bestimmte Objekte haben, sind natürlich verbindlich. Einmal innhaltlich - klar, und zum anderen auch in ihrer schreibweise. JavaScript ist case-sensitiv und hat mit den HTML-Kram erstmal nichts zu tun. Somit hast Du den script-Tag noch klein zu schreiben (in XHTML) und ab dann - also innherhalb dieses Tags - gelten andere Regeln.

    Oder ist das Ganze Browserabhängig?

    Es gibt zwar eine menge Sachen, die nur in bestimmten Browsern fruchten aber dies gehört Gott-sei-Dank nicht dazu.

    Mit freundlichem Gruß
    Micha

  2. hi,

    Nun habe ich etliche Stunden mit einer Fehlersucbe in einem Script
    verbracht, weil ich nicht darauf gekommen wäre, dass DOM-Abfragen
    wie "nodeName" die Ausgabe grossschreiben. [...]
    Jetzt überlege ich wer hier falsch liegt DOM oder ich?

    http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-822762427

    Auf der sicheren Seite, vor ggf. fehlerhaften Implementierungen in Browsern, bist du, wenn du dich für durchgehende Groß- oder Kleinschreibung für deine Vergleichswerte entscheidest - und den dir gelieferten nodeName explizit dahin wandeln lässt.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }