@@molily:
nuqneH
Hier gilt, dass man Event-Handling immer funktional lösen sollte
Natürlich, full ACK. Das war aber hier nicht das Thema.
Allerdings sind die obigen Problem ziemlich happig und diese Ausnahmen will man sich besser nicht merken
*g*
daher ist deinem Rat zuzustimen, getAttribute/setAttribute weitesgehend zu vergessen.
Ich hab allerdings noch ein Gegenbespiel, wo man um getAttribute()
(noch) nicht drumrumkommt:
im Markup: <samp id="ultimate-answer" data-ultimate-answer="42"/>
var ultimateAnswerElement = document.getElementById("ultimate-answer");
var ultimateAnswerData = ultimateAnswerElement.dataset.ultimateAnswer;
geht schon in Chrome 9, von den anderen Browsern hab ich grad keine Entwickler-Versionen installiert. Es geht nicht in IE 8, Firefox 3.6.13, Opera 11.00, Safari 5.0.3.
var ultimateAnswerData = ultimateAnswerElement.dataUltimateAnswer;
liefert 'undefined'. Warum eigentlich?
Was browserübergreifend funktioniert, ist
var ultimateAnswerData = ultimateAnswerElement.getAttribute('data-ultimate-answer');
Da ist die ultimative Anwort auf die ultimative Frage dann "42".
Qapla'
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)