Hej NG
- Hvilke tegn kan/må man bruge ved ID og NAME attributterne ?
I W3C's specifikationer står der jo klart følgende:
<cite>
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of
letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
</cite>
http://www.w3.org/TR/1999/REC-html401-19991224/types.html#type-name
Men hvorfor brokker W3C-validatoren (
http://validator.w3.org/ ) sig kun når man bruger ulovlige
tegn på ID attributten, men ikke NAME attributten.
Eksempel:
<div id="x.x:x-x_x" title="Ok"></div>
<div id="x,x;x[x]x(x)x?x#x" title="Error"></div>
<input name="x.x:x-x_x" value="Ok"/>
<input name="x,x;x[x]x(x)x?x#x" value="Ok"/>
- Er det en fejl i Validatoren ?
Det "sjove" er at man via javascript i Op/Moz/IE kan få fat i alle 4 elementer via deres ID
eller NAME attribute.
Eksempel:
alert(document.forms[0].elements['x,x;x[x]x(x)x?x#x'].value)
alert(document.getElementById('x,x;x[x]x(x)x?x#x').title)
- Er det så en fejl i Javascript ?
Og når man benytter CSS:
- Er det så ikke riski at benytte colons (":") til ID'er, jeg tænker på pseudo-classes, såsom
:hover, :first-child ?
- Ligeledes med periods ("."), når man benytter almindelige classes?
Og det var så nogle af de spørgsmål jeg går og bryder mit hoved med
Hintzmann c",)