Attributes are defined by HTML. Properties (on DOM elements) are defined by DOM (and also HTML 5 which blurs the boundary between markup and DOM).
Some HTML attributes have 1:1 mapping onto properties. id
is one example of such.
Sometimes the names are different. The class
attribute maps onto the className
property, and the value
attribute maps on to the defaultValue
property (while the value
property has no corresponding attribute).
When I originally wrote this answer, I thought there were attributes without a 1:1 mapping to a property. With this update, I can no longer think of any (and have made corrections for the above examples).