我想从外部css文件中执行此操作。我在主css中有一个div#abc,但我想为这个div设置display none仅在javascript被禁用时
答案 0 :(得分:3)
怎么样
<noscript>
<style type="text/css">
div#abc { display: none; }
</style>
</noscript>
?如果您真的想在外部CSS文件中执行此操作,请将其移至no_js.css
并在link
元素中引用此文件,而不是样式属性。
然而,大多数情况下,反过来更方便:设置禁用JS的默认值,然后让JS更改类名(例如)以更新样式。 jQuery示例:
$(document).ready(function () {
$('.fancy_user_interface_element').addClass('additional_js_style_class');
});
答案 1 :(得分:1)
我会使div style =“display:none;”默认情况下,然后使用javascript显示它。
<div id="abc" style="display: none;">
...
</div>
<script type="text/javascript">
$(function() {
$('#abc').show(); //using jQuery
});
</script>
这样,如果您没有启用javascript,则不会显示div。我已经使用内联CSS显示它,但您也可以使用CSS类来完成它,只需从元素中删除该类。
<style>
.requires-javascript { display: none; }
</style>
<div id="abc" class="requires-javascript">
...
</div>
<script type="text/javascript">
$(function(){
$('.requires-javascript').removeClass('requires-javascript');
});
</script>
这种方式可以使用单个jQuery语句来处理页面上需要javascript的所有元素。
答案 2 :(得分:0)
将要显示的元素放在noscript标记内,只有在禁用javascript时才会显示该元素。
答案 3 :(得分:0)
你要做的是在你的javascript中有一个事件,它将规则的样式从隐藏设置为隐藏。让CSS始终将该元素设置为隐藏。如果他们关闭了javascript,它永远不会取消隐藏它,因此它会被CSS隐藏。