Установка element.style
свойств в '' (пустая строка) позволяет им принимать унаследованное значение или значение по умолчанию.
Например, установка element.style.display
в пустую строку - это предпочтительный способ показать элемент, который был ранее скрыт с помощью display = 'none';
, таким образом, вам не нужно знать, каким было исходное свойство (оно может не иметь был установлен на все).
Обратите внимание, что в некоторых браузерах изменение свойства DOM приведет к изменению связанного атрибута HTML, но в других браузерах - нет. Кроме того, то, как установлен атрибут, зависит от реализации. Так что не полагайтесь на такое поведение, просто разберитесь со свойствами.
Попробуйте следующее в нескольких браузерах:
<div id="d0">div</div>
<button onclick="
var el = document.getElementById('d0');
el.style.backgroundColor = 'red';
el.style.border = '1px solid blue';
alert(el.getAttribute('style'));
">Do stuff</button>
Firefox 5: цвет фона: красный; рамка: 1px сплошной синий;
IE 8: [объект]
Chrome 14: Цвет фона: красный; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; стиль верхней границы: сплошной; стиль границы справа: сплошной; стиль границы снизу: сплошной; стиль рамки слева: сплошной; верхний цвет: синий; рамка-цвет справа: синий; цвет рамки снизу: синий; Цвет рамки слева: синий;
Opera 11: background-color: # ff0000; пограничный верхний цвет: # 0000ff; Цвет рамки слева: # 0000ff; цвет границы справа: # 0000ff; Цвет границы нижний: # 0000ff; border-top-width: 1px; border-left-width: 1px; border-right-width: 1px; border-bottom-width: 1px; стиль верхней границы: сплошной; стиль рамки слева: сплошной; стиль границы справа: сплошной; стиль границы снизу: сплошной