我想用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。
如果你有什么不明白的,请告诉我,我将进一步解释。
为什么不为每个标签设置一个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
}
}