2011-09-19 74 views
1

我需要帮助才能在Javascript中查找隐藏按钮。我使用ASP.NET 4无法从Javascript中获取ASP.NET 4中的隐藏元素

我能找到一个"visible = True"但是当我试图找到一个隐藏的元素它说找不到对象

<script type="text/javascript"> 
    function ShowAge() 
    { 
    var elem = document.getElementById('MainContent_chbFilter'); 
     if (elem != null) 
      alert("Found 1"); 
     else 
      alert("Not Found 1"); 
    var elemc = document.getElementById('MainContent_txtMSISDN'); 
     if (elemc != null) 
      alert("Found 4"); 
     else 
      alert("Not Found 4"); 
    } 
    </script> 

我使用asp:content 请帮

+0

按钮是否实际呈现给页面? –

+0

您可以显示HTML,以便我们可以看到有这样的元素? –

回答

1

如果一个元素已隐藏在服务器端(我假设这是你所做的),这意味着它不会被渲染到页面上,这就是为什么Javascript不会在DOM中找到它。

你想要的是给它分配一个CSS类(例如.hidden),并且使用display:none。然后,您可以将其恢复为显示:通过Javascript阻止。

0

如果您将Visible=False设置为服务器端代码中的某个元素,而不是呈现给该页面,那么JavaScript将无法访问它。

1

在ASP.NET中,当你隐藏一个元素时,它不会在HTML中呈现。这与在CSS中使用hidden属性形成对比,其中元素仍然存在,只是在视觉上隐藏。如果你想“隐藏”它的服务器端,但仍然可以在DOM中使用它,你应该在你的ASPX中添加style="display:none;"