jquery C#和JavaScript之间的“可见”属性

ljo96ir5  于 2023-08-04  发布在  jQuery
关注(0)|答案(3)|浏览(105)

首先,为这个奇怪的标题道歉。一个都想不起来。
当我在代码后面隐藏一个元素(c#)时,例如:

btnRemoveAvail.Visible = false;

字符串
然后下面的jquery行wont工作(当时间到了unhide):

$('#btnRemoveAvail').show();


(it返回没有任何错误,就好像它100%酷..但什么也没发生)
然后我尝试了以下方法(正如jquery论坛所说的那样。show类似于将display设置为block..?):document.getElementById("btnRemoveAvail").style.display = "block";
这返回了一个错误:document.getElementById(“btnRemoveAvail”)为null
我相信这可能是一些简单的东西,我完全误解了代码背后和HTML之间。

58wvjzkj

58wvjzkj1#

在webforms中(我假设你使用的是webforms),当你设置一个controls visibility为false时,它根本不会被渲染为html,所以它在DOM中不可用,供jquery操作。
如果你想让它可用,你可以像这样在代码后面设置它客户端属性。

btnRemoveAvail.Attributes.Add("style","display:none");

字符串
你现在可以通过jquery来操作它的可见性或任何其他属性,因为它在DOM中是可用的,只是不可见。
希望这对你有帮助。

kulphzqa

kulphzqa2#

你能检查一下在你的页面中是否有一个名为btnRemoveAvail的元素吗?
我敢打赌它没有被创建。我相信在服务器端将按钮设置为Visible = false根本不会在客户端呈现对象。
您需要做的是设置按钮的样式,使其包含display:none。这样,元素将被呈现,但通过css隐藏。然后,您可以调用.show方法,它应该可以工作。

6jygbczu

6jygbczu3#

我今天有这个问题。我最终做了以下事情。
超文本标记语言

<div id="regularFlow" runat="server" style="display:none;">

字符串
jQuery

$('#<%=regularFlow.ClientID%>').show();


C#语言

regularFlow.Style.Add("display", "block");
...
regularFlow.Style.Add("display", "none");

相关问题