首先为这个奇怪的头衔道歉。想不到一个哈哈。
当我隐藏(c#)后面的代码中的元素时,例如:
btnRemoveAvail.Visible = false;
然后以下jquery行不会工作(当取消隐藏时):
$('#btnRemoveAvail').show();
(它根本不会返回任何错误,好像它的100%很酷......但没有任何反应)
我尝试了以下(因为jquery论坛说.show类似于将display设置为block ..?):
document.getElementById("btnRemoveAvail").style.display = "block";
这又返回了一个错误: document.getElementById(“btnRemoveAvail”)为空
我确信它可能很简单,我完全误解了代码背后和HTML ..
答案 0 :(得分:3)
在webforms(我假设你正在使用webforms)中,当你将控件可见性设置为false时,它根本不会呈现为html,所以它在DOM中不可用于jquery操作。
如果您希望它可用,您可以从后面的代码设置其客户端属性。
btnRemoveAvail.Attributes.Add("style","display:none");
您现在可以通过jquery操纵其可见性或任何其他属性,因为它可以在DOM中使用但只是不可见。
希望这有帮助。
答案 1 :(得分:1)
您是否可以检查您的页面中是否创建了一个名为btnRemoveAvail
的元素?
我打赌它没有被创造出来。我认为从服务器端将按钮设置为Visible = false根本不会在客户端上呈现对象。
您需要做的是设置按钮的样式,使其包含display:none
。这样,元素将被渲染,但通过CSS隐藏。然后你可以调用.show方法,它应该可以工作。