gpt4 book ai didi

javascript - asp.net 中嵌套元素的 jQuery ID 选择器?

转载 作者:行者123 更新时间:2023-11-29 10:34:59 24 4
gpt4 key购买 nike

我不知道这个选择器是如何正确选择 txtUsername 元素的:

aspx:

<asp:Content ID="Content1" ContentPlaceHolderID="body" runat="Server">
...
<div class="copy" style="float: left; width: 210px">
<span class="copy" style="float: left; width: 210px">
<asp:TextBox ID="txtUserName" runat="server" CssClass="ffield copy" Style="width: 198px;"></asp:TextBox>
</span>
</div>

jQuery:

var username = $('#body_txtUserName').val();

asp:TextBox 的 ID 是 txtusername 而不是 body_txtUserName,我唯一能想到的是 txtusername 嵌套在带有 ContentPlaceHolderID="body"

asp:Content 元素

如果这是真的,下划线的意义是什么?我找不到任何关于 jQuery 选择器语法的文档

最佳答案

ASP.NET 在运行时修改 ID,最好不要尝试猜测。相反,您应该修复 ID、使用生成的 ID,或者明智地选择您在客户端选择的内容。您的选择:

  1. 如果您的脚本位于 aspx 页面本身,您应该能够像这样使用 ClientID:

    $('#<%=txtUserName.ClientID %>')
  2. 如果您绝对确定此控件是页面上唯一使用此 ID 的控件,请使用此控件属性修复此 ID:

    ClientIDMode="Static"

    $('#txtUserName')
  3. 您可能不应该依赖于此,但生成的 ID 通常以您在服务器端使用的任何 ID 结尾。所以你可以尝试使用“ends with”jQuery 选择器:

    $('input[id$="txtUserName"]')

同样,这不是一个好主意,因为它依赖于关于 ID 生成如何工作的假设。

  1. 分配另一个 CSS 类并使用它。您不需要在样式表中定义此类,可以将此技术仅用于选择目的:

    CssClass="ffield copy userNameText"

    $(".userNameText")

关于javascript - asp.net 中嵌套元素的 jQuery ID 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377507/

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