禁用CSS时如何隐藏div?
下面是一个场景:我将一个div预加载到一个页面中,并自动将其display属性设置为hidden。我使用javascript弹出所说的div。问题是当客户端禁用CSS时,他们显然可以看到div。只有在调用javascript函数时才显示div(或div的内容)的最佳方法是什么 我能想到的最好的方法是将原始HTML传递给javascript变量,然后使用javascript加载所有HTML,然而,这有点慢(有相当数量的HTML),这会导致脚本在尝试引用尚不存在的div时中断 还有其他更优雅的解决方案吗禁用CSS时如何隐藏div?,css,html,hidden,Css,Html,Hidden,下面是一个场景:我将一个div预加载到一个页面中,并自动将其display属性设置为hidden。我使用javascript弹出所说的div。问题是当客户端禁用CSS时,他们显然可以看到div。只有在调用javascript函数时才显示div(或div的内容)的最佳方法是什么 我能想到的最好的方法是将原始HTML传递给javascript变量,然后使用javascript加载所有HTML,然而,这有点慢(有相当数量的HTML),这会导致脚本在尝试引用尚不存在的div时中断 还有其他更优雅的解决方
谢谢如果禁用了CSS,那么隐藏div的唯一方法就是将其从DOM中删除。您可以将html注释标记环绕在其周围:
<!-- <div>your stuff, which should be invisible</div> -->
或者将其从DOM中完全删除
您可以在div上设置一个内联样式(不推荐,但您的案例是一个例外)
您可以在页面加载时使用JS/jQuery隐藏
div
,但它会导致闪烁效果(div
将立即可见,直到JS运行以隐藏它)。使用javascript将要隐藏的div的高度设置为零
$('#mydiv').css(“高度”,“0px”)
当页面加载时,您希望在页面上有一个div,这样没有javascript的用户就可以看到它,也许是为了表明一些站点功能需要JS才能工作 如果您需要将该div专门用于JS,那么将其放在页面上是一种糟糕的方法。您应该动态创建它,至少是内容
通过这种方式,您可以确保没有CSS的用户不会看到它,同时仍然能够向其他启用JS的用户显示它。选择不应用作者样式的用户允许作者脚本的可能性有多大?:-)禁用CSS是什么意思?禁用Javascript会发生,但禁用CSS并不常见。。。你能解释一下吗?@Kerrek:这正是我在读问题时突然出现的事情:)你真的需要支持没有CSS的浏览器吗?即使是像Lynx或Links这样的终端浏览器也支持基本的CSS,比如“显示”。我不在乎那些禁用CSS的人,他们已经错过了web的大部分内容,他们可能也禁用了JS。无论如何,@timaschew的解决方案是合乎逻辑的。我认为不同的浏览器会做出不同的反应。更安全的办法是尝试@timaschew的建议。