Javascript removeAttribute работает в IE, но не в Chrome - PullRequest
1 голос
/ 03 июня 2011
<body onload="document.getElementById('menuTest').style.removeAttribute('display')">

Это код, который я использую. По сути, я пытаюсь сделать элемент видимым только после загрузки всего остального на странице. Он отлично работает в IE, но не в Chrome. Я не очень много работаю с Js ... но если я правильно помню, есть ли что-то более привередливое в функции getElementById, что мне нужно сделать?

Ответы [ 3 ]

3 голосов
/ 03 июня 2011
<body onload="document.getElementById('menuTest').style.removeProperty('display')">

Тестовая страница: http://www.quirksmode.org/dom/tests/cssMisc.html#removeProperty

1 голос
/ 03 июня 2011

Вы не используете атрибут удаления со стилями, вы устанавливаете его на нужное значение.

document.getElementById('menuTest').style.display = "block"; //"inline"
0 голосов
/ 09 августа 2012

Если ваш элемент имеет синхронизированный переход CSS3, установленный в CSS, JavaScript также не будет работать, даже если ваш код правильный.Поскольку элемент перемещается при запуске javascript, он не может управлять им в некоторых браузерах (Chrome - один).В этих случаях попробуйте отложить запуск JavaScript после того, как переход успел завершить рендеринг элемента.

...