禁用Javascript时隐藏ASP中的占位符

时间:2014-07-21 10:13:23

标签: c# javascript html asp.net placeholder

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

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

显示ID时,应隐藏placeholder。使用C#

进行此操作是否有任何解决方案?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

如果显示ID,您甚至不必检查ID。最初只需使用CSS隐藏placeholder。然后,如果启用了JavaScript,请显示placeholder

答案 1 :(得分:1)

您可以在渲染标记时在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有点区分大小写;)