如何在JQuery中引用控件,以便在控件不存在的情况下不会引发错误?
即:此时此命令会在asp.net中引发服务器错误
if ($get('<%= Panel1.ClientID %>') != null) { <-- Fails with "The name 'Panel1' does not exist in the current context"
$get('<%= Panel1.ClientID %>').scrollTop = yPos;
}
存在于母版页中,但对于某些内容页面将存在,在这些情况下,我有代码重置滚动位置。
由于
答案 0 :(得分:2)
这是服务器端问题,而不是jQuery。在生成页面时,在服务器端评估Panel1.ClientID
。
此外,您需要的jQuery是$('#<%= Panel1.ClientID %>')
答案 1 :(得分:1)
您可以为此面板指定一些CSS类,然后在jQuery中使用CSS选择器:
$('.someClassNameOfThePanel').scrollTop(yPos);
在服务器上Panel可能如下所示:
<asp:Panel ID="Panel1" runat="server" CssClass="someClassNameOfThePanel">
...
</asp:Panel>