切换css for Javascript已禁用

Pab*_*blo 4 javascript css switch-statement

我在Javascript被禁用时切换css有问题.

我有这个代码:

<style type="text/css">.nonjsonly{display:none;}.jsonly{display:inline;}</style>
<noscript><style type="text/css">.nonjsonly{display:inline}.jsonly{display:none}</style></noscript>
Run Code Online (Sandbox Code Playgroud)

Witch现在正在工作,但W3C并没有批准它,因为noscript在html头部是非法的(并且代码在头部).

知道怎么做吗?

提前致谢

Mic*_*ski 7

处理此问题的更合适的方法是首先放置非js CSS,不带任何<noscript>标记,然后是为支持JavaScript的客户端加载样式表的脚本.然后,具有JS功能的css应该级联以覆盖基本表.

<style type='text/css'>
  /* baseline CSS for all clients */
</style>

<!-- Then a script loads an additional stylesheet which cascades to override the baseline -->
<!-- Obviously, won't get loaded by noscript clients -->
<script type='text/javascript'>
  document.write("<link type='text/css' rel='stylesheet' href='/path/to/js-friendly.css' />");
</script>
Run Code Online (Sandbox Code Playgroud)