当Javascript被禁用时在ASP中隐藏占位符

本文关键字:ASP 隐藏 占位符 Javascript | 更新日期: 2023-09-27 18:13:45

我需要检查Javascript是否启用。如果它被禁用,我需要隐藏一个占位符。在这里,placeholder是一个基于JS (jQuery)的小部件。当Javascript被禁用时,用户只能看到一个白框和浪费的空间。

我发现,当JS被禁用时,我可以使用<noscript>标签来显示内容(例如一个带有ID的<p>来识别这个状态),但我不知道如何实现一个函数来检查这个ID是否显示给用户。

显示ID时,应该隐藏placeholder。有什么解决方案,这样做与C# ?

谢谢你的帮助

当Javascript被禁用时在ASP中隐藏占位符

您可以在呈现标记时在body标记(或任何适当的父标记)上设置CSS类,然后使用Javascript更改该类。当类更改时,您可以设置不同的CSS样式,包括隐藏标记:

初始html:

<body class="no-js">
<div class="placeholder"></div>
</body>

jQuery:

 $( document ).ready(function() {
     //Remove the no-js class and replace it with js
     $(".no-js").addClass('js');
     $(".no-js").removeClass('no-js');
 });

和一些CSS:

 .no-js .placeholder{
    display: none;
 }

这样你的CSS规则将默认隐藏占位符,但jQuery会再次打开它。

编辑:jQuery有点大小写敏感;)

你也可以用JavaScript做到这一点。听起来很奇怪,但是没错。

你甚至不需要检查ID是否显示。首先用CSS隐藏placeholder。然后,如果启用了JavaScript,则显示placeholder .