Surprise!

Submitted by michael on Wed, 12/14/2011 - 05:46
POP Quiz time! How do these three bits of HTML get parsed?
  1. <foo bar=baz/> (no space between the value and the slash
  2. <foo bar=baz /> (space after the unquoted value)
  3. <foo bar="baz"/> (quoted attribute value)
The value of the bar attribute in the first example is literally “baz/” with the slash, and no errors or warnings are generated. The second and third ones are parsed out as “baz” as most people would probably expect.