Javascript 如何在保持渐进增强的同时隐藏要使用jquery切换的元素
我能找到的所有答案都建议在css中添加display:none。。。但是对于没有javascript的用户来说,他们永远看不到元素Javascript 如何在保持渐进增强的同时隐藏要使用jquery切换的元素,javascript,jquery,css,progressive-enhancement,Javascript,Jquery,Css,Progressive Enhancement,我能找到的所有答案都建议在css中添加display:none。。。但是对于没有javascript的用户来说,他们永远看不到元素 jQuery(document).ready(function($){ $('#toggleElm').hide(); $('#toggleBtn').click(function(){ $('#shareLink').slideToggle(); }) }); 仍然会导致元素在页面加载期间出现和消失,因为页面在DOM
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>
编写(“#togglelm{display:none}”);
正文的顶部似乎太黑了。一个元素的结束标记被解析后,就会在DOM中注册 因此,可以直接在该选项卡之后隐藏元素
<div id="toggleElm">Foo</div>
<script>
// Note: No $(document).ready()!
$('#toggleElm').hide();
</script>
Foo
//注意:没有$(document).ready()!
$('#togglelm').hide();
显然,这取决于jQuery是否已经加载(即,页面底部没有包含jQuery)。如果是这种情况,请还原为纯ol'JavaScript:
<div id="toggleElm">Foo</div>
<script>
document.getElementById('toggleElm').style.display = 'none';
</script>
Foo
document.getElementById('toggleElm').style.display='none';
元素的结束标记一经解析,就在DOM中注册
因此,可以直接在该选项卡之后隐藏元素
<div id="toggleElm">Foo</div>
<script>
// Note: No $(document).ready()!
$('#toggleElm').hide();
</script>
Foo
//注意:没有$(document).ready()!
$('#togglelm').hide();
显然,这取决于jQuery是否已经加载(即,页面底部没有包含jQuery)。如果是这种情况,请还原为纯ol'JavaScript:
<div id="toggleElm">Foo</div>
<script>
document.getElementById('toggleElm').style.display = 'none';
</script>
Foo
document.getElementById('toggleElm').style.display='none';
如果您不想等待文档准备就绪,请不要等待文档准备就绪
东西
document.getElementById('foo').style.display='none';
如果您不想等待文档准备就绪,请不要等待文档准备就绪
东西
document.getElementById('foo').style.display='none';
为了防止javascript FOUC并让您的页面完全可访问,您应该在
元素中应用一个.no js
类,然后使用该类为您的元素设置样式,就像html5样板+Modernizer一样
当然,您必须很快通过javascript在文档的
中删除该类,使用如下脚本
<script>
(function(d) {
d.className = d.className.replace(/(^|\b)no\-js(\b|$)/, 'js');
}(document.documentElement));
</script>
(职能(d){
d、 className=d.className.replace(/(^ |\b)no \-js(\b |$)/,'js');
}(document.documentElement));
因此,如果启用javascript,它将把.no js
类变成.js
类
使用这种方法,即使javascript不可用,您的页面仍然可以访问,因为在这种情况下,将应用最后一条CSS规则,保持元素可见和可访问。为了防止javascript FOUC并让页面完全可访问,您应该在
元素中应用一个.no js
类,然后使用该类来设置元素的样式,就像html5样板文件+Modernizer那样
当然,您必须很快通过javascript在文档的
中删除该类,使用如下脚本
<script>
(function(d) {
d.className = d.className.replace(/(^|\b)no\-js(\b|$)/, 'js');
}(document.documentElement));
</script>
(职能(d){
d、 className=d.className.replace(/(^ |\b)no \-js(\b |$)/,'js');
}(document.documentElement));
因此,如果启用javascript,它将把.no js
类变成.js
类
使用这种方法,即使javascript不可用,您的页面仍然可以访问,因为在这种情况下,将应用最后一条CSS规则,让您的元素可见和可访问。我喜欢让javascript尽可能不引人注目。我喜欢让javascript尽可能不引人注目。我喜欢让javascript尽可能不引人注目。我喜欢让javascript尽可能不引人注目。