禁用JavaScript时如何隐藏HTML的部分内容?

z-b*_*oss 17 html javascript noscript

我试图在没有JavaScript的情况下容纳用户.(顺便说一下,现在值得努力吗?)

在一个HTML文件中,如果脚本打开,我希望它的一部分执行,如果脚本关闭,则执行另一部分.

<noscript>标签可以让我做了前者,但如何实现后者?我如何标记HTML的一部分,以便在脚本关闭时不被浏览器解析?

Zau*_*sus 36

我一直在寻找一种方法来做到这一点,这样我就可以隐藏导航下拉菜单,当启用javascript时,该菜单会被渲染为无效.但是,所有用于更改显示属性的解决方案都不起作用.

所以,我先做的是为下拉菜单周围的div元素分配了一个ID(ddown).

然后,在HTML文档的head部分中,我将其添加到:

<noscript>
    <style>
        #ddown {display:none;}
    </style>
</noscript>
Run Code Online (Sandbox Code Playgroud)

这才有效.不依赖于javascript,jquery或任何其他脚本:只是纯HTML和CSS.

  • 这应该是默认答案 - 简单,不需要JQuery (2认同)
  • @alejnavab XHTML 不支持 noscript 标签。 (2认同)

Joh*_*lan 10

默认将要隐藏的位设置为样式,display:none并使用jQuery或JavaScript将其打开.


Nat*_*ium 7

这是一个关于如何使用jQuery完成此操作的视频教程:http://screenr.com/ya7

码:

<body class="noscript">
<script>
$('body').removeClass('noscript');
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

然后相应地隐藏相关元素body.noscript.

编辑 然而,JQuery可能会因为像这样的小修复而膨胀,所以我建议Zauber Paracelsus回答,因为它不需要JQuery.