gpt4 book ai didi

jquery - 无法在 jquery 中访问 asp.net 控件 ID

转载 作者:行者123 更新时间:2023-12-01 02:30:15 24 4
gpt4 key购买 nike

我有这个 html 结构:

<asp:Panel ID="divOne">
<div class="divSection1">
<asp:Panel runat="server" id="specialId" class="ClassOne ClassTwo"
<asp:Label id="MyLabel"></asp:Label>
<div id="myDiv" </div>
</asp:Panel>
</div>
</asp:Panel>

我正在尝试访问jquery中的“specialId”,例如$('#specialId')、$('div.specialId'),但没有成功。有人可以建议吗?

最佳答案

我的类似答案是 little more explanation is here

asp.net 中的

runat="server" 向其每个控件添加母版和页面信息。因此,如果您查看 DOM,您的控件将类似于 master_page_ctrl0_specialId[只是一个示例]。

您有几个选择。

选项1:使用客户端 ID - 推荐,但呃..没那么多。我会尽量避免在 JavaScript 中编写 ClientID。

$('#<%= specialId.ClientID %>')

选项2:使用相同的ID - 不推荐,因为它真的很难看。

$('[id$=specialId]')$('[id*=specialId]')

以上选择器是specialID结尾的任何id以及包含<的任何id/strong> specialId 分别。

选项3:使用该类 - 强烈推荐。因为使用类的选择器干净且不复杂。另外,我发现您使用了 class,对于 .net 控件,请使用 CssClass

$('.ClassOne.ClassTwo')

选项4:在控件上使用 .NET Framework 4.0 中引入的 ClientIDMode="Static",以便其 ID保持不变。 - 也推荐。

<asp:Panel runat="server" ClientIDMode="Static" id="specialId" CssClass="ClassOne ClassTwo">
</asp:Panel>

关于jquery - 无法在 jquery 中访问 asp.net 控件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19860085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com