Hallo,
Von daher würde ich auch von der Verwendung der ganzen Attribute Funktionen abraten, erst ab dem Moment wo man selbstdefinierte Attribute verwendet muss man sie einsetzen.
Muss man nicht.
Selbstdefinierte Attribute sind nur dann nötig, wenn man tatsächlich echte Attribute braucht - i.d.R. dann, wenn man den DOM-Knotenbaum wieder serialisieren will, also nachträglich wieder mit innerHTML/outerHTML herumfummeln will. (Oder wenn das Dokument, an dem per DOM gearbeitet wird, nicht das gegenwärtige, sondern ein mit XMLHttpRequest o.ä. geladenes ist.)
In den anderen Fällen will man einfach willkürliche Daten an einen Elementknoten hängen, dafür braucht man getAttribute/setAttribute nicht. An ein Knotenobjekt kann man glücklicherweise jedes JavaScript-Objekt hängen, während Attribute immer Strings sind.
Lustigerweise erzeugt sowohl elem.setAttribute("mein", "attribut") als auch elem.meine = "eigenschaft" im IE ein reguläres Attribut, das beim Serialisieren auftaucht (meine="eigenschaft" mein="attribut") und über getAttribute auslesbar ist. Das gilt allerdings nur für den IE und Voraussetzung ist, dass es sich um einen String handelt.
Mathias