【问题标题】:get the data attribute value of closest tr children获取最近的tr孩子的数据属性值
【发布时间】:2015-05-28 13:03:10
【问题描述】:

令人困惑的标题... 但是我想获取一些 td 的 data-attr 值,这些 td 与触发事件的按钮在同一个表中。

这是表格,或者更确切地说是表格的主体:

<tr class="reihe">
<td data-datum="@iiEntry.ccDatum">@iiEntry.ccEntryID</td>
<td class="size" data-firma="@iiEntry.ccBesucherFirma">@iiEntry.ccBesucherFirma</td>
<td class="size" data-name="@iiEntry.ccBesucherFirma">@iiEntry.ccBesucherName</td>
<td class="size" data-status="@iiEntry.ccStatus">@iiEntry.ccStatus</td>
<td class="size" data-ansprechpartner="@iiEntry.ccAnsprechpartner">@iiEntry.ccAnsprechpartner</td>
<td><button class="btn btn-default signin" id="signin-@iiEntry.ccEntryID">Anmelden</button></td>
<td><button class="btn btn-default delete">Löschen</button></td>
</tr>

以及应该处理所有这些的脚本:

    $("[id^='signin']").click(function() {
        var lCompleteRow = $(this).closest("tr");
        var lFirma = $(lCompleteRow[0]).data("firma");

        alert(lCompleteRow);
     });

现在,我已经尝试了很多,现在我可以访问tr,但我无法找到获取td 的数据属性值的方法,或者我只是得到@ 987654325@返回。

我该如何解决这个问题?

【问题讨论】:

  • tr 上看不到任何data 属性。你是动态添加的吗?
  • 哦抱歉,我指的是tds的数据属性
  • 哪个td?举个例子
  • 基本上,我需要他们所有人的数据,但要回答这个问题,一个就足够了。让我们说data-firma

标签: jquery html asp.net razor


【解决方案1】:

lCompleteRow 指的是tr 元素。它没有任何数据,所以data 方法返回undefined。在调用data 方法之前,您应该选择目标单元格。

lCompleteRow.children('[data-firma]').data('firma');

另一种选择是:

$(this.parentNode).siblings('[data-firma]').data('firma');

【讨论】:

    【解决方案2】:
    $(".signin").click(function() {
            var lCompleteRow = $(this).closest("tr").children("td:eq(1)").attr('data-firma');
            console.log(lCompleteRow);
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      • 1970-01-01
      • 2015-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多