As it happens, it isn’t a semi-colon thing. Copy the code shown, and paste it into jsfiddle’s editor. You will notice an extra character between the & and amp;, or the & and whatever follows. Your keyboard is sticking an extra character in there.
In the jsfiddle editor, it shows up as a red dot between the ampersand and the chosen tag: