<html>
<head>
<script type="text/javascript">
// jquery and javascript functions
</script>
</head>
<body>
<fancy-jquery-ajaxy-html-section>
</fancy-jquery-ajaxy-html-section>
<noscript>
sorry you came to the wrong place - this site is all jquery/ajaxy stuff.
</noscript>
</body>
</html>
我尝试使用<fancy-jquery-ajaxy-html>
围绕<script type="text/javascript"></script>
但是即使对于启用了javascript的用户,也会显示该部分的内容。
但我想要做的只是在用户没有启用javascript 时隐藏<fancy-jquery-ajax-html>
部分。
它包含对未启用javascript的人无用的内容,因此根本不应显示。
禁用javascript的用户应仅才能看到一条消息,指出无法在没有javascript的情况下查看该网页。
有办法吗?
答案 0 :(得分:4)
最简单的方法是使用CSS隐藏该部分(例如display:none
),然后通过Javascript显示它。
编辑:只是一个小例子
<div>Everyone sees this div</div>
<div id="mydiv" class="hidden">You see this div only with JS enabled</div>
<script type="text/javascript">
$("#mydiv").removeClass("hidden");
</script>
<noscript>
<div>You will see this div only with JS disabled</div>
</noscript>
当然,在你的CSS中:
.hidden
{
display: none;
}
答案 1 :(得分:2)
您可以使用css隐藏您喜欢的部分:
<div id="fancy_jquery_ajax" style="display: none;">
</div>
然后您可以使用JavaScript来显示元素:
$("#fancy_jquery_ajax").css("display", "block");
我希望是的,我实际上并没有那么多使用jQuery。 :S
答案 2 :(得分:1)
另一种方法是使用JavaScript生成HTML,因此除非JavaScript正在运行,否则无法显示。
答案 3 :(得分:0)
我所做的是让我的javascript隐藏nojsdiv
并显示maindiv
。这样,如果您没有javascript,则会显示消息。
<body onload="allowlogin()">
<div id="maindiv" style="visibility: hidden;">
...
</div>
<div id="nojsdiv">
The training system requires javascript to be enabled.
</div>
</body>
答案 4 :(得分:0)
我喜欢在加载jQuery后立即向html标记添加一个.js
类。这允许我编写仅在用户启用/禁用javascript时才适用的css规则。这样可以保持你的show和hide代码不受我们JS的影响,让CSS完成它的工作并为页面设置样式
以下是我如何解决您的问题:
<html>
<head>
<style type="text/css">
.js #fancy_jquery_ajax {display: none;}
</style>
<script type="text/javascript" src="/scripts/jquery.js"></script>
<script type="text/javascript">
$('html').addClass('js');
$(document).ready(function() {
// Stuff to do as soon as the DOM is ready
});
</script>
</head>
<body>
<div id = "fancy_jquery_ajax"></div>
<noscript><!-- stuff to say if use had javascript disabled --></noscript>
</body>
</html>
重要的是要注意,我们希望在jQuery加载后立即将.js
类添加为,而不是将其添加到我们的document.ready
处理程序中。否则我们会回到原点。