【问题标题】:Get the text inside span tag of dynamically generated table?获取动态生成表的 span 标签内的文本?
【发布时间】:2015-01-16 13:53:36
【问题描述】:

我有一个企业应用程序的动态生成页面。数据在表结构内。我需要访问此表中的 span 标签的值。

 <table class="table table-bordered table-hover table-striped">
        <thead>
            ...
        </thead>
        <tbody>
            @foreach (var item in Model.Select((x, i) => new { Data = x, Index = i }))
            {
                <tr>
                    <td>@(item.Index + ((Model.PageNumber - 1) * Model.PageSize) + 1)</td>
                    <td>
                        **<span class="site-name">
                            @Html.DisplayFor(modelItem => item.Data.SITENAME)
                        </span>**  //Want to access item inside span
                    </td>

                    <td>@Html.DisplayFor(modelItem => item.Data.REMARKS)</td>
                    <td>

                        <a  href="@Url.Action("Delete", new { id = item.Data.ID })"
                            class="btn btn-sm btn-danger delete-site">
                            <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                        </a>
                    </td>

                </tr>
            }
        </tbody>

jquery 是这样的

 $(document).on("click", ".delete-site", function (e) {
            var item = $(this);
            var name = $(item.closest("span[class='site-name']"));
            alert(name.text());                
            return false;
        });

这里我得到一个空警报框。

如何使用 jquery 获取 span 标签内的值??

【问题讨论】:

    标签: jquery jquery-traversing


    【解决方案1】:

    替换这个:

    var name = $(item.closest("span[class='site-name']"));
    

    有了这个:

    var name = $(item.closest("tr").find("span[class='site-name']"));
    

    因为.site-name span 不在您的父 td 内,所以使用最接近使用具有 .site-name 的最近父 tr,然后使用 find 获取元素

    【讨论】:

      【解决方案2】:

      试试这个

       $(document).on("click", ".delete-site", function (e) {
                  var item = $(this);
                  var name = $(item).find("span[class='site-name']");
                  alert(name.text());                
                  return false;
              });
      

      【讨论】:

        【解决方案3】:

        试试这个

        $(document).on("click", ".delete-site", function (e) {
                    var item = $(this);
                    var name = item.closest("span").find("site-name");
                    alert(name.text());                
                    return false;
                });
        

        【讨论】:

          【解决方案4】:

          你需要的是找到最近的&lt;tr&gt;,然后找到span

          $(document).on("click", ".delete-site", function(e) {
              var item = $(this);
              var name = item.closest("tr").find("td span[class='site-name']");
              alert(name.text());
              return false; 
          });
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-03-14
            • 1970-01-01
            • 1970-01-01
            • 2019-12-23
            • 1970-01-01
            • 2021-07-26
            相关资源
            最近更新 更多