gpt4 book ai didi

javascript - 如何在保持渐进增强的同时隐藏要使用 jquery 切换的元素

转载 作者:行者123 更新时间:2023-11-28 18:48:16 25 4
gpt4 key购买 nike

我能找到的所有答案都建议将 display:none 添加到 css...但是对于没有 javascript 的用户,他们将永远不会看到该元素。

jQuery(document).ready(function($){

$('#toggleElm').hide();

$('#toggleBtn').click(function(){
$('#shareLink').slideToggle();
})

});

仍然会导致元素在页面加载期间出现和消失,因为这些天页面在 DOM 完成之前开始呈现。

<script type='javascript'> 
document.write("<style type='text/css'> #toggleElm {display:none} </style>");
</script>

在 body 的顶部似乎太老套了。

最佳答案

为了防止 javascript FOUC 并让您的页面完全可访问,您应该应用 .no-js<html> 中上课元素,然后使用该类来设置元素的样式,完全像 html5 样板+modernizr 做的那样

#toggleElm { display: none; }
.no-js #toggleElm { display: block; }

当然,您必须尽快在 <head> 中通过 javascript 删除该类您的文档,使用这样的脚本

<script>
(function(d) {
d.className = d.className.replace(/(^|\b)no\-js(\b|$)/, 'js');
}(document.documentElement));
</script>

因此,如果启用了 javascript,它将变成 .no-js类别为 .js类。

使用这种方法,即使 javascript 不可用,您的页面仍然可以访问,因为在这种情况下将应用最后的 CSS 规则,使您的元素可见和可访问。

关于javascript - 如何在保持渐进增强的同时隐藏要使用 jquery 切换的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9995791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com