ID "....irgendwas...." bereits definiert. Was soll das?
Hendrik
- css
Hey!
Auf meiner Homepage gibt es mehrere Boxen am linken und rechten Rand (Navigation, Besuchszähler, Umfrage...usw.). Nun habe ich diese Seite mit validome.org validieren lassen. Allerdings gibt er mir unzählige Fehlermeldungen aus (habe Transitional), dass die id bereits definiert ist...
Was soll ich da machen? Sieht eigentlich alles richtig aus, nur nerven mich diese Fehlermeldungen schon irgendwie! Muss ich vielleicht class statt id nehmen, da man id nur einmal innerhalb eines Dokuments benutzen darf?
Wie habt ihr das Problem gelöst? Könnt ihr mir dabei helfen?
Hendrik
Hallo Hendrik,
Was soll ich da machen? Sieht eigentlich alles richtig aus, nur nerven mich diese Fehlermeldungen schon irgendwie! Muss ich vielleicht class statt id nehmen, da man id nur einmal innerhalb eines Dokuments benutzen darf?
Exakt.
Du solltest wissen, dass eine ID nicht (nur) für CSS gedacht ist, eine ID heißt von der Bedeutung exakt:
Dieses Element ist exakt nur EIN Mal im Dokument vorhanden und kann über eine EINDEUTIGE ID angesprochen werden.
Du kannst IDs weiterhin verwenden, allerdings muss jedes Element eine andere ID haben. Um mehrere Elemente gleichzeitig anzusprechen, ist class geeignet.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Hey!
Exakt.
Du solltest wissen, dass eine ID nicht (nur) für CSS gedacht ist, eine ID heißt von der Bedeutung exakt:
Dieses Element ist exakt nur EIN Mal im Dokument vorhanden und kann über eine EINDEUTIGE ID angesprochen werden.Du kannst IDs weiterhin verwenden, allerdings muss jedes Element eine andere ID haben. Um mehrere Elemente gleichzeitig anzusprechen, ist class geeignet.
Danke, ich wusste nie den Unterschied zwischen id und class! Jetzt weiß ich ihn :-)
Hendrik
Hallo Hendrik.
Muss ich vielleicht class statt id nehmen, da man id nur einmal innerhalb eines Dokuments benutzen darf?
Ganz genau.
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo Hendrik,
id darfst du nur einmal verwenden pro Seite, class beliebig oft. Was ist daran so schwer zu verstehen? Wenn du eine id mehrfach verwendest, dann musst du sie eindeutig durch class ersetzen.
gruss,
OhneName
Hallo,
Auf meiner Homepage gibt es mehrere Boxen am linken und rechten Rand (Navigation, Besuchszähler, Umfrage...usw.). Nun habe ich diese Seite mit validome.org validieren lassen. Allerdings gibt er mir unzählige Fehlermeldungen aus (habe Transitional), dass die id bereits definiert ist...
Was soll ich da machen?
Dafür sorgen dass eine ID nur einmal in der Seite vergeen ist.
Sieht eigentlich alles richtig aus, nur nerven mich diese Fehlermeldungen schon irgendwie!
Behebe die Fehler und es gibt keine Fehlermeldungen mehr.
Muss ich vielleicht class statt id nehmen, da man id nur einmal innerhalb eines Dokuments benutzen darf?
Wenn du die Antwort auf deine Probleme selber weißt, warum fragst du dann?
Grüße
Thomas
Hey!
Wenn du die Antwort auf deine Probleme selber weißt, warum fragst du dann?
Ich war mir nicht ganz sicher und wollte noch mit dem "Dateiübergreifenden Suchen und Ersetzen" (eine _sehr_ praktische Funktion von Phase 5) warten, bis ich mir sicher bin!
Danke!
Hendrik
Ich war mir nicht ganz sicher und wollte noch mit dem "Dateiübergreifenden Suchen und Ersetzen" (eine _sehr_ praktische Funktion von Phase 5) warten, bis ich mir sicher bin!
Du hättest auch ein Backup der Dateien machen können, und es dann einfach mal ausprobieren (eine _sehr_ praktische Funktion deines Betriebssystems *g)
Gruß,
Arthur D.
Hallo,
Ich war mir nicht ganz sicher und wollte noch mit dem "Dateiübergreifenden Suchen und Ersetzen" (eine _sehr_ praktische Funktion von Phase 5) warten, bis ich mir sicher bin!
Du hättest auch ein Backup der Dateien machen können, und es dann einfach mal ausprobieren (eine _sehr_ praktische Funktion deines Betriebssystems *g)
Ja, aber wozu (in dem Fall)?
Er kann genau so gut das Suchen und Erseten statt id="bla" -- > class="bla" auf class="bla" --> id="bla" anwenden. Oder die Sache in einer einzigen Seite/Datei ausprobieren.
Grüße
Thomas
Hallo Thomas,
Ja, aber wozu (in dem Fall)?
Er kann genau so gut das Suchen und Erseten statt id="bla" -- > class="bla" auf class="bla" --> id="bla" anwenden. Oder die Sache in einer einzigen Seite/Datei ausprobieren.
natürlich kann er das. Das mit dem Backup war auch nur ein Vorschlag...
und wie ich finde, auch der bessere:
1. bevor ich irgendeiner Anwendung erlaube, gleich mehrere Dateien zu ändern, mach ich lieber erstmal ein Backup. Und wenn ich dann eh schon ein Backup habe, kann ich das auch nutzen, um die überarbeiteten Datein zu überbraten... (ist dann einfacher, als noch mal alle Dateien rauszupicken, in denen was ersetzt werden soll)
2. was ist, wenn er an der ein oder anderen Stelle bereits diese Klasse verwendet (dieses class also NIE ein id war)?
Gruß,
Arthur D.
Hi,
Was soll ich da machen? Sieht eigentlich alles richtig aus, nur nerven mich diese Fehlermeldungen schon irgendwie! Muss ich vielleicht class statt id nehmen, da man id nur einmal innerhalb eines Dokuments benutzen darf?
Also wenn du eine ID mehrfach vergibst, obwohl du weißt, dass sie eindeutig sein musst, darfst du dich über diese Fehlermeldung eigentlich nicht wundern... Ob du statt dessen class verwenden musst, kommt ganz drauf an, was du machen willst:
Wie habt ihr das Problem gelöst? Könnt ihr mir dabei helfen?
Welchers Problem?
Gruß,
Arthur D.
Hallo Arthur,
- willst du alle diese Elemente über einen einzigen Namen ansprechen können (wozu auch immer), dann nimm name
Du weißt schon, dass das Attribut "name" im Unterschied zu "class" kein Universalattribut ist, nur bei ganz wenigen ausgesuchten Elementen erlaubt ist und z.B. auch was IMG-Elemente angeht, nur noch der Rückwärts-Kompatibilität wegen geduldet ist.
http://www.w3.org/TR/html401/struct/objects.html#adef-name-IMG
Die einzigen Elemente, die ich mir im Moment vorstellen kann, bei denen dieses Attribut auch für moderne Browser noch einen Sinn ergibt, sind INPUT-Elemente vom Type="radio".
Gruß Gernot
Hallo Gernot,
Die einzigen Elemente, die ich mir im Moment vorstellen kann, bei denen dieses Attribut auch für moderne Browser noch einen Sinn ergibt, sind INPUT-Elemente vom Type="radio".
OK. Gut, dass du mich, und vor allem Hendrik darauf aufmerksam machst... ich habe mal wieder schneller getippt, als gedacht... allerdings habe ich nicht behauptet, darin einen Sinn zu sehen :)
Gruß,
Arthur D.
Hallo Arthur,
OK. Gut, dass du mich, und vor allem Hendrik darauf aufmerksam machst... ich habe mal wieder schneller getippt, als gedacht... allerdings habe ich nicht behauptet, darin einen Sinn zu sehen :)
Naja, wenn ich nochmal darüber nachdenke, muss ich gestehen, dass ich unlängst in einem Skript, bei dem es darum ging, verschiedene Versionen eines FORM-Elements dynamisch ein- und auszublenden, ganz froh war, mit dem Attribut "name" und der Methode document.getElementsByName() arbeiten zu können.
Schade, dass getElementsByClassName() nicht als Methode des document-Objekts implementiert ist, was ich für viel wichtiger hielte.
Mit Prototyping kann man das aber nachholen.
Gruß Gernot
Hi,
Schade, dass getElementsByClassName() nicht als Methode des document-Objekts implementiert ist, was ich für viel wichtiger hielte.
Allerdings... aber dann wäre das auch zu einfach *g
Mit Prototyping kann man das aber nachholen.
Interessanter Link, Danke.
Gruß,
Arthur D.
Hallo Gernot.
Die einzigen Elemente, die ich mir im Moment vorstellen kann, bei denen dieses Attribut auch für moderne Browser noch einen Sinn ergibt, sind INPUT-Elemente vom Type="radio".
Und jede Art von Formularelement allgemein. Wie soll sonst name=value an ein verarbeitendes Script versandt werden?
Einen schönen Sonntag noch.
Gruß, Mathias