Я согласен с Борисом Гери, что это не чрезмерная инженерия, а стандартная лучшая практика. Я бы пошел немного по-другому, чем Борис, сначала добавив класс no-js в html, а затем удалив его с помощью JavaScript.
Таким образом, вы не ждете, пока документ будет готов скрыть содержимое, и без какого-либо JavaScript вы по-прежнему видите содержимое. Предполагая, что у пользователя нет JavaScript, он больше соответствует философии прогрессивного улучшения.
например:
<html class="no-js">
<body>
<div id="foo"></div>
</body>
</html>
мой css:
#foo {
display: none;
}
html.no-js #foo {
display: block;
}
и JavaScript
$(document).ready(
function()
{
$('html').removeClass('no-js');
}
);
********* ИЛИ на индивидуальной основе ***********
например:
<div class="no-js" id="foo">foobar and stuff</div>
CSS:
.no-js {
display:none;
}
#foo {
display: block;
}
#foo.no-js {
display: none;
}
ЯШ:
$(document).ready(function(){
// remove the class from any element that has it.
$('.no-js').removeClass('no-js');
});