我想用c#得到标签的ID,这是由jQuery在运行时创建的

本文关键字:jQuery 创建 运行时 ID 标签 | 更新日期: 2023-09-27 18:10:54

首先我将解释我的场景。我有asp.net菜单(动态创建的菜单),现在我想把推送通知就像Facebook上我的每个菜单选项。我用CSS设计了它,用jQuery放了一个标签。

 if (res == "MenuIcons") {
                $(this.parentElement).addClass('Notification');
                var $label = $("<label  ID='"notificationlbl" + i + "'" style='"position: absolute; margin-top: 2%; margin-left: -3.1%; margin-right:-3.3%; z-index: 99; color: white; font-size: 9px; font-family: Verdana; letter-spacing: -1px;'">").text('99');
                $(this.parentElement.parentElement).append($label);
                i++;
            }

但是我完全困惑如何使用c#来处理它,因为我无法获得在运行时创建的标签的ID。

如果你有什么不明白的,请告诉我,我将进一步解释。

我想用c#得到标签的ID,这是由jQuery在运行时创建的

为什么不为每个标签设置一个data属性呢,比如

var $label = $("<label data-element-type='notification' ID='"notificationlbl" + i + "'" style='"position: absolute; margin-top: 2%; margin-left: -3.1%; margin-right:-3.3%; z-index: 99; color: white; font-size: 9px; font-family: Verdana; letter-spacing: -1px;'">").text('99');

,然后你可以检索整个集合与jQuery:

$("[data-element-type='notification']").each(function(){...});

尝试在标签标签中添加runat="server"属性。你的标签标签id要到运行时才可用。你可以通过标签的id来搜索控制器。在后面的代码中,您可以执行以下操作

foreach(Contol c in this.Controls)
{
          if(c.ID.contains("notificationlbl")
          {
              //your code
          }
}