xhtml unterschied zwischen " und '
norbert
- html
0 Thomas J.S.0 MudGuard0 Steffen Weber0 Sven Rautenberg0 norbert
hallo,
wie im topic beschrieben, will ich wissen, ob es einen unterschied zwischen " und ' gibt. also zB
<img src='myimage.gif' />
und
<img src="myimage.gif" />
gibt es irgendeine offizielle aussage (es ist schwer nach " und ' zu suchen :() vom w3 konsortium bezügl. dessen?
Hat jmd. von euch schlechte Erfahrungen mit '?
danke im voraus!
Hallo,
wie im topic beschrieben, will ich wissen, ob es einen unterschied zwischen " und ' gibt. also zB
<img src='myimage.gif' />
und
<img src="myimage.gif" />
Nein, das macht keinen Unterschied.
gibt es irgendeine offizielle aussage (es ist schwer nach " und ' zu suchen :() vom w3 konsortium bezügl. dessen?
http://www.w3.org/TR/html401/intro/sgmltut.html#h-3.2.2
Du kannst in HTML entweder keine Anführungszeichen nützen, oder konsequent einen von beiden. Wobei es empfehlenswert ist Anführungszeichen zu benützen.
In XHTML musst du Attributwerte in Anführungszeichen setzen.
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'«
Da müsstest du dann die Apostrophe mit ' oder mit ' maskieren.
Eingebürgert hat sich eben daher die Benützung vom »"«.
Grüße
Thomas
Hi,
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'«
Da müsstest du dann die Apostrophe mit ' oder mit ' maskieren.
Da kann man aber genausogut argumentieren, daß ' besser als " ist, denn es könnte zu Problemen kommen, wenn z.B. Javascript-Anweisungen im Attributwert sind (z.B. onclick="myFunction("a", "b")) oder wenn im Text ein Anführungszeichen vorkommt, z.B. title="ein "tolles" Beispiel". Da müßte man dann " oder " verwenden.
Man muß halt jeweils im Attributwert entweder die jeweils anderen Zeichen verwenden oder eben geeignet maskieren.
Wobei ' in HTML gar nicht existiert (erst in XHTML, weil es in XML immer vorhanden ist).
cu,
Andreas
Tag,
Eingebürgert hat sich eben daher die Benützung vom »"«.
IMO bietet es sich auch an " zu benutzen. Wie Du schon sagst brauchen so die ' nicht maskiert werden. Da im Windowsfilesystem " verboten und ' erlaubt sind, kann man mit " einfache auf Links mit ' im Filenamen referenzieren.
<img src="/andreas'rad.jpg" />
<img src='/andreas'rad.jpg' />
Grüße,
Steffen.
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
Hi Sven,
alt="17"-LCD-Monitor" -> alt="17$quot;-LCD-Monitor"
title='a'la carte' -> title='a'la carte'
Das Problem tritt gar nicht erst auf, wenn man die typographisch richtigen Zeichen verwendet. Dann sieht’s auch besser aus.
alt="17″-LCD-Monitor"* (alt="17″-LCD-Monitor")
title='a’la carte' (title='a’la carte')
Live long and prosper,
Gunnar
* Nein, nach der 17 steht kein U+0022 quotation mark, sondern ein U+2033 double prime.
Hi,
title='a’la carte' (title='a’la carte')
Das ist ziemlicher Unsinn.
Es müßte
title='à la carte'
bzw.
title='à la carte'
heißen.
Ein Apostroph kommt darin gar nicht vor.
cu,
Andreas
Hallo,
title='a’la carte' (title='a’la carte')
Das ist ziemlicher Unsinn.
Es müßte
title='à la carte'
bzw.
title='à la carte'heißen.
Ein Apostroph kommt darin gar nicht vor.
Dann nehmen wir à l'extrémité à la française. ;-)
Grüße
Thomas
muss man jetzt wirklich um die Beispiele streiten?
hallo!
danke für eure ausführlichen antworten.
thx,
norbert