Moin!
Du kannst in HTML entweder keine Anführungszeichen nützen, oder konsequent einen von beiden. Wobei es empfehlenswert ist Anführungszeichen zu benützen.
Wobei man in HTML die Anführungszeichen nur weglassen darf, wenn der Attributwert nur aus Buchstaben A-Z, a-z, Ziffern, Minus -, Unterstrich _, Punkten und Kommas besteht. Das Vorkommen irgendwelcher anderer Zeichen erfordert zwingend, dass Anführungszeichen gesetzt werden.
Es wird außerdem empfohlen, sie IMMER zu setzen, auch wenn man sie weglassen könnte.
Hat jmd. von euch schlechte Erfahrungen mit '?
Als Begrenzer von Attributwerden ist es besser wenn du »"« benützt, denn bei »'« kann es zu Problemen kommen, wenn du z.B. JavaScript-anweisungen im Attributwert hast, z.B. »onlick='myFunction('a', 'b')'« oder wenn im Text einen Apostroph vorkommt z.B. »title='a'la carte'«
Ein schlechtes Beispiel, da man ja einfach auch onclick='myFunction("a","b")' schreiben könnte, ohne irgendeine Funktionalität zu verlieren.
Das Title-Beispiel hingegen ist "gültig". :) Andersherum existiert es aber auch: Doppelte Anführungsstriche als Attributwert sind innerhalb von doppelten Anführungsstrichen als Attributbegrenzer ebenfalls nicht erlaubt:
alt="17"-LCD-Monitor" -> alt="17$quot;-LCD-Monitor"
title='a'la carte' -> title='a'la carte'
Es ist aber nicht verboten, sich passend zum Attributwert und auch gerne wild wechselnd im Dokument jeweils die günstigsten Attributbegrenzer auszusuchen:
alt='17"-LCD-Monitor'
title="a'la carte"
Nur bei diesem Beispieltext kommt man um Entities für das eine oder andere Anführungszeichen nicht herum:
17"-LCD-Monitor a'la carte
Eingebürgert hat sich eben daher die Benützung vom »"«.
Das könnte aber auch daran liegen, dass man es auf der Tastatur besser tippen kann, oder dass es das klassische Stringbegrenzerzeichen in vielen Programmiersprachen ist, und deshalb eine gewisse Gewöhnung besteht. Technisch gesehen ist es in HTML und XHTML vollkommen egal, welches Zeichen man benutzt.
- Sven Rautenberg