|a.getAttribute( 'href' ) ||String ||#search |
|a.getAttributeNode( 'href' ) ||DOM Attr ||Attr( '#search' ) |
|a.attributes ||DOM Attr ||Attr( '#search' ) |
i guess the property part is implementation dependent. for common stuff like 'href' it must be pretty safe to use the property. but i've got no idea if it's actually specified anywhere. and for less common stuff, you can have a property and an attribute of the same name that have different values, eg "foo". good thing dojo provides dojo.attr()
the worst part: the DOM spec is written in IDL, in which an "Attribute" is a member of an interface. so we've got Node.attributes, an IDL Attribute of the DOM's Node interface. and Attr.name, an IDL Attribute of the DOM's Attr interface, which represents an "attribute".