Теоретически, setAttribute берет строку и присваивает ее атрибуту, а затем сопоставляется со всеми связанными свойствами DOM.В IE 7 и ниже (а также в IE 8 в режиме совместимости IE 7 и в режиме Quirks) оно присваивает значение непосредственно свойству DOM с тем же именем (делая его чувствительным к регистру и бесполезным, когда свойство ожидает что-то отличное от строкизначение).
Ряд свойств DOM onfoo принимает функцию.
Обычно вместо этого обычно рекомендуется использовать attachEventListener и friends, а также использовать слой абстракции (например, предоставленный YUI, jQueryи т. д.) для присвоения значений.Это вообще проще.Такие библиотеки, как правило, также включают функции для устранения ошибок, связанных с утечкой памяти.