首页 > 解决方案 > div 值在 jQuery 中未定义

问题描述

我有一个 div,其中的值是使用后面的 asp.net 代码动态添加的。我想在我的 jQuery 代码中使用这个值,但警报显示该值未定义。div 显示动态日期,如下所示:

<div id="test" runat="server"></div>
protected void dpchange_SelectedIndexChanged(object sender, EventArgs e)
{
   test.InnerHtml = Label1.Text;       
}

这是我试图访问值的 jQuery 代码

$('#addDialog').dialog({
  autoOpen: false,
  width: 470,
  buttons: {
    "Add": function() {
      alert($("#test").text());
      alert($("#test").html());
      alert($("#test").val());

      var eventToAdd = {

      };

标签: javascriptjqueryhtmlasp.net

解决方案


假设您使用的是 ASP.Net,

您可以将 div 上的 ClientID 属性指定为静态,以便 ID 在运行时不会更改。

<div id="test" runat="server" clientidmode="Static"></div>

另一种方法是使用以下语法

alert($('[id$=test]').text());
alert($('[id$=test]').html());
alert($('[id$=test]').val());

如果您jQuery在同一aspx页面上,您还可以使用内联服务端标记。

alert($('#<%= test.ClientID %>').html());

推荐阅读