I've had this article in mind for a while, as I have fiddling with Internet Explorer's crazy handling of attributes in order to patch Prototype's $$() utility. Well, fiddling wasn't cutting the deal, so I ended up doing some large scale testing (basically running thousands of test using a sample HTML 4.01 document from W3C) to try to figure out what was going on. A first look at getAttribute First