molily: Geniale Cross-Browser Funktion (?)

Beitrag lesen

Hallo,

Ich verwende, für mehrere Anwendungsfälle, eine ähnliche Funktion, um ein object/id/name/tagname zu finden: getObject()

Wozu brauche ich eine Funktion, die mir ein Element mit einer ID ODER mit einem Namen ODER mit einem Tag-Namen zurückgibt, je nachdem, was gerade existiert? Das ist doch willkürlich, da weiß ich nie, was herauskommt. Da muss ich voll aufpassen, dass Namen nicht wie IDs heißen und IDs nicht wie Tagnamen, sonst bekomme ich z.B. statt dem head-Element ein Element mit id=head. Ich will Scripte auf lebendigen Sites einsetzen können, wo im Markup alles mögliche passieren kann, aber die Scripte weiter funktionieren, solange ganz bestimmte (!) Hooks im Markup vorhanden sind. Wenn ich bloß getObject("bla") schreibe, explodiert das ganze bei der nächsten Gelegenheit, wenn jemand am Markup herumfummelt und nicht beachtet, dass er nicht einfach Bezeichner/Tags nach Gusto verwenden darf. Das ist so ziemlich das Gegenteil von dem, was ich mir unter robust und zukunftsfähig vorstelle.

Es ist doch semantisch was ganz anderes, wenn ich in meinem Code getElementById() oder getElementsByTagName()[index] schreibe. Das würde ich doch nie verwischen und einebnen wollen, wer soll den Code dann noch lesen können? Ich sehe ja ein, dass Helferfunktionen zum Auswählen von Elementen ultranützlich sind und nervige Schreibarbeit sparen, aber dann doch eher was in der Art $("CSS-Selektor"). Damit kann man Elemente eindeutig auswählen - und im Fehlerfall wird eben nicht geschaut, ob doch noch irgendwo ein Element existiert, das irgendwie diesen Bezeichner trägt, sondern ich bekomme ein klares undefined o.ä.

Mathias