首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当JavaScript被禁用时,如何隐藏部分超文本标记语言?

当JavaScript被禁用时,如何隐藏部分超文本标记语言?
EN

Stack Overflow用户
提问于 2009-10-16 11:47:12
回答 5查看 18.1K关注 0票数 19

我正在尝试适应没有JavaScript的用户。(顺便问一下,现在的努力值得吗?)

在一个HTML文件中,如果脚本处于打开状态,我希望执行其中的一部分,如果脚本处于关闭状态,则执行另一部分。

<noscript>标记让我实现了前者,但是如何实现后者呢?如果脚本关闭,我如何标记HTML的一部分,使其不被浏览器解析

EN

回答 5

Stack Overflow用户

发布于 2012-12-13 18:25:03

我一直在寻找这样做的方法,这样我就可以隐藏一个导航下拉菜单,当javascript被启用时,导航下拉菜单将变得不起作用。但是,用于更改显示属性的所有解决方案都不起作用。

因此,我首先做的是为下拉菜单周围的div元素分配一个ID (ddown)。

然后,在HTML文档的head部分中,我添加了以下内容:

代码语言:javascript
复制
<noscript>
    <style>
        #ddown {display:none;}
    </style>
</noscript>

这就起作用了。不依赖于javascript、jquery或任何其他脚本:只需要纯HTML和CSS。

票数 50
EN

Stack Overflow用户

发布于 2009-10-16 19:50:08

默认要隐藏为display:none样式的位,并使用jQuery或JavaScript打开它们。

票数 10
EN

Stack Overflow用户

发布于 2009-10-16 12:14:48

如果只有在启用JavaScript时内容才有意义,那么应该由JavaScript代码直接插入内容,而不是呈现它。这可以通过在JavaScript代码中使用HTML模板作为字符串来完成,或者如果HTML比较复杂,也可以使用Ajax。

作为mentioned by Reinis I.,这就是Progressive Enhancement的想法。

关于在body标签上使用类名的CSS技术,我建议反过来做,用JavaScript在body标签中添加一个'js-enabled‘类来改变页面的CSS。这与我上面关于保持所有初始HTML“非JavaScript友好”的评论是一致的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1577598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档