javascript - 当脚本是外部时 getElementByID

标签 javascript asp.net

我试图在外部脚本中访问 asp:panel 以使其不可见,但它似乎不起作用。当脚本位于 .aspx 文件中时,它可以正常工作。有什么建议吗?

在 .aspx 文件中

  <script src="App_Themes/custom.js"></script>
  <asp:Button ID="descriptionButton" Text="Description" runat="server" OnClientClick="descButton(); return false;" />

 <asp:Panel ID="desciptionPanel" runat="server"> 
          ///random stuff
               <asp:panel>

在 custom.js 文件中

function descButton() {

var desc = document.getElementById('<%=desciptionPanel.ClientID%>'); 
desc.style.visibility = "visible";
desc.style.height = "800px";

}

提前致谢

最佳答案

将其分成两部分。

首先,在服务器的aspx中,留下ID,以便以后可以重复使用

<script>
   window.panelID = '<%= whatever.ClientID %>';
</script>

然后,在外部脚本中,只需使用 ID

function externalJSfunction() {

   var desc = document.getElementById(window.panelID);

}

关于javascript - 当脚本是外部时 getElementByID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28487266/

相关文章:

.net - 没有 tnsnames.ora 文件的 Oracle 连接字符串

javascript - HTML5 输入范围 : change color of runnable-track up to current value

javascript - Angular 6 复选框过滤器覆盖之前的复选框

javascript - Angular 路由不显示内容

html - 将 asp Validator 的可见性设置为 True 不会影响任何更改

.net - 我如何知道我是否在网络环境中运行?

javascript - Laravel 5.6 如何将 URL 作为 URL 参数传递?

javascript - 提议更改 JavaScript 本身?

asp.net - css 事件功能不工作

c# - 在 mvc .net (system.data.common.dbconnection) 中建立连接时出错