Согласно более свежей официальной документации здесь , для setStyle
рекомендуется следующее:
Устанавливает значение стиля для элемента. ... По возможности используйте нативные API:
elem.style.propertyKey = 'value' или (если стираются старые стили
хорошо) elem.style.cssText = 'property1: value1; свойство2: значение2 '.
Это предполагает goog.dom.getElement('myElement').style.display = 'block';
, как в вашем вопросе.
Также полезно отметить, что если вы используете showElement
, установка второго аргумента в true
вернет элемент в default style
. Как говорится:
True для отображения элемента в его стиле по умолчанию, false для отключения
рендеринг элемента.
Что это означает, однако, что если вы установите display: none
в своем CSS, настройка true
все равно не будет отображать элемент, потому что стиль CSS по умолчанию - скрывать элемент !! Это отличается от, скажем, с JQuery.
Для переключения вы можете сделать это:
var el_style = goog.dom.getElement('myElement').style;
el_style.display = (el_style.display === "none" ? "block" : "none");