当前位置:  开发笔记 > 编程语言 > 正文

如果启用Javascript,如何显示一个<div>,如果不是,则如何显示不同的<div>?

如何解决《如果启用Javascript,如何显示一个<div>,如果不是,则如何显示不同的<div>?》经验,为你挑选了1个好方法。

我正在使用一些Javascript来显示"照片淡入淡出旋转器"

.但是,如果没有启用JS,我会想要显示一个动画gif.我实际上已经使用此代码:

photo photo photo

外部JS文件在它上面发挥了作用

.id ="slideshow"上的类设置尺寸,填充,边距,定位等."hide-slideshow"css文件在#slideshow上执行"display:none",并且围绕动画gif的"adjust"类执行一些操作推动和拉动以获得它需要的位置(如果没有隐藏的话,幻灯片放映的位置).

我在FF3,IE7,IE8,Chrome和Safari(Win)中测试了这个.好消息是它就像一个魅力.坏消息是它没有通过W3C验证器.我得到一个错误,说"文档类型不允许元素"链接"这里".

即使我的方法有效,它是否过于笨拙?有没有更好的方法来展示一个

如果启用JS而另一个是不同的,
如果它不是,以一种跨浏览器工作并通过验证的方式?

谢谢!



1> Dan Herbert..:

尝试这样的事情.它优雅地降级,不需要

为了简化示例,我使用了ID.使用类更合适.此外,大多数像样的入门框架(如HTML5 Boilerplate和Modernizr)都会使用HTML标记上的CSS类来执行此操作,因此您可以使用全局方式隐藏/显示CSS文件中的内容而不是使用JS.该标签带有一个开始no-jsCSS类,它被用替代js的JS类.这允许您只使用适当的类为任何依赖于JS存在的CSS规则添加前缀.这更具语义性,因为它将表达事物(应该在视觉上隐藏/显示的内容)与逻辑事物(无论页面是否运行JS)分开.


回答原始问题的另一个选择是默认情况下将链接添加到头文件中的CSS文档,并使用JavaScript将其删除.(免责声明)我没有对此进行测试,但它也适用于所有浏览器.


如果您使用的是jQuery,也可以缩短此脚本.

$("link[href='css/hide-slideshow.css']").remove();

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有