Hi,
wenn ich deine ursprüngliche Fragestellung richtig verstanden habe, wolltest du doch auf konstante Ausdrücke prüfen, nicht gegen Variablen.
Ansonsten hast du mit dem 'var' schon Recht: Damit vereinbarst du eine neue Variable, die dann aber nur in dem Kontext existiert, in dem sie deklariert wurde (z.B. lokal innerhalb der Funktion).
Wenn sie nicht lokal sein soll, kann man sie auch definieren, indem man ihr einfach einen Wert zuweist. Dabei wird eine Variable gleichzeitig neu angelegt, wenn sie noch nicht existiert.
Gut, dann brauch ich das also dich nicht. Da bin ich aber erleichert...
Ich will doch aber nicht nur prüfen, ob es irgendeine ID gibt, sondern ob diese "full" oder "htm" heißt.
Sorry, ja - den Schritt habe ich völlig verpennt. ;-)
War das von also doch richtig? Das "==" darf ich dort aber nicht verwenden oder wie macht man das richtig?
Welche Eigenschaften?
Ich will den Linktext und den Link-href ändern.
Ah, das kommt dann erst später.
Diese funktion habe ich ja auch schon definiert.
function textaendern(name) {
if (document.getElementsByTagName("html")[0].id)
if (document.getElementsByTagName("html")[0].id == "htm"){
Richtig. Allerdings kann man diese beiden Bedingungen dann auch mit dem UND-Operator zusammenfassen:
if (document.getElementsByTagName("html")[0].id
&& document.getElementsByTagName("html")[0].id == "htm")
Zwei "ifs" nacheinander zu notieren, ist zumindest ungewöhnlich.
Hab ich gemacht - das hat das Problem aber nicht behoben. Irgendwie habe ich auch das Gefühl, dass ich nur 1 if brauche...(oder). Aber wie überprüfe ich die ID?
document.getElementById(name).firstChild.nodeValue = 'volle Breite';
document.getElementById(name).href="javascript:anpassen('htm');
Das ist zwar aus der Javascript-Perspektive auch korrekt, aber einen Link mit dem Pseudoprotokoll "javascript:" sollte man eigentlich vermeiden. Eleganter ist es, einem beliebigen Element einen onclick-Handler zu verpassen.
Ja, aber so weit ich weiß, wegen Nutzern, die js ausgeschaltet haben. Da ich den href aber eh erst per Script ändere, düfte das keine Rolle spielen. Außerdem ist es 1. viel komplizierter, den href erst zu löschen und dann onclick zu erstellen und 2. gilt onclick glaube ich, nur für die Mausbedienung und nicht für die Tastatur (onkeypress kann ich mir ersparen). Was ist eigentlich so schlimm am "href"? Ich würde es sogar als barrierefreier einstufen. Zumal der Nutzer so etwas in der Statuszeile sieht, was ihm eine ungefähre Vorstellung über das geben könnte, was pssiert, wenn er klickt (Vorrausgesetzt, der Web-Autor verwendet aussagekräftige Funktionsnamen).
Ich weiß, ich steht hier irgendwie auf dem Schlauch, ...
Ach was, könnt' schlimmer sein. ;-)
Da bin ich aber beruhigt :-)
Derzeit sieht meine Funktion so aus:
function textaendern(name) {
if (document.getElementsByTagName("html")[0].id
&& document.getElementsByTagName("html")[0].id == "htm"){
document.getElementById(name).firstChild.nodeValue = 'volle Breite';
document.getElementById(name).href="javascript:anpassen('htm');aendern('b2');writeCookie('myCookie',document.getElementsByTagName('html')[0].id,24);"}
if (document.getElementsByTagName("html")[0].id)
&& (document.getElementsByTagName("html")[0].id == "full"){
document.getElementById(name).firstChild.nodeValue = 'volle Breite';
document.getElementById(name).href="javascript:normalwidth('full');aendern('b2');writeCookie('myCookie',document.getElementsByTagName('html')[0].id,24);"
}}
Leider kann ich kein Beispiel ins Web stellen, da die Funpic-Server zur Zeit nicht funktionieren :-(
Einen schönen Freitag noch!