Потому что сам стиль - это объект. То, что вы хотите:
button.style.setAttribute('cssFloat','right');
Но IE не поддерживает setAttribute для объектов стиля. Поэтому используйте полностью поддерживаемый кросс-браузер:
button.style.cssFloat = 'right';
Что касается справки, я всегда захожу на www.quirksmode.org. В частности: http://www.quirksmode.org/compatibility.html. Нажмите на все, что связано с DOM.
И, наконец, для установки нескольких атрибутов я обычно использую что-то вроде:
function setStyle(el,spec) {
for (var n in spec) {
el.style[n] = spec[n];
}
}
использование:
setStyle(button,{
cssFloat : 'right',
border : '2px solid black'
});
Примечание: object.attribute = 'value'
, хотя работает во всех браузерах, не всегда может работать с DOM-объектами, отличными от HTML. Например, если ваш документ содержит встроенную графику SVG, которой вам нужно манипулировать с помощью javascript, вам нужно использовать setAttribute
, чтобы сделать это.