私はボリス・ゲリーに同意します。これはオーバーエンジニアリングではなく、むしろ標準的なベスト プラクティスです。ボリスとは少し異なる方法で、最初に 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;
}
とジャバスクリプト
$(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;
}
js:
$(document).ready(function(){
// remove the class from any element that has it.
$('.no-js').removeClass('no-js');
});