【问题标题】:How to get id attribute of clicked tr button element? [duplicate]如何获取单击的 tr 按钮元素的 id 属性? [复制]
【发布时间】:2016-10-03 10:33:11
【问题描述】:

我将单击事件绑定到在class.lada-button 的表中动态创建的按钮。

在当前设置中,使用类选择器 Ladda.create( document.querySelector( '.ladda-button' ) ); 创建对按钮的引用只会触发表中第一个按钮的提交转换。而不是已单击的按钮。

所以为了触发被点击的按钮,我尝试获取被点击按钮的 id,它为id 属性返回 undefined:

<tbody>
    @foreach (var row in Model.Status)
    {
         <tr>
             <td style="visibility:hidden;" >@Html.Raw(row.ID)</td>            
             <td><button type="submit" data-style="expand-right" class="ladda-button"><span class="ladda-label">Update</span><span class="ladda-spinner"></span></button></td>
         </tr>
    }
</tbody>
$(".ladda-button").click(function () {
    var btnId = $(this).attr('id');
    alert(btnId);
    var updateBtn = Ladda.create( document.querySelector( btnId ) );
    // Start loading
    updateBtn.start();
});

如何获取点击的tr按钮元素的id属性?

【问题讨论】:

  • 您的 HTML 布局如何?也许你需要得到父母$(this).parent().attr('id')
  • 你不需要 jquery... 只需使用 this.id 或父元素的 ID this.parentElement.id
  • 好吧,也许我错了,但它似乎是未定义的,因为你的按钮上没有任何 id 属性:
  • 那么你想得到什么???
  • 我认为问题出在document.querySelector( btnId ) 部分。您必须在 id 前面加上“#”以指示选择器是 id 而不是元素。

标签: javascript jquery button jquery-click-event


【解决方案1】:

你可以使用jquery closest函数。

你可以在这里看到一个简单的例子

$("button").click(function(event) {
    alert($(this).closest("tr").attr("id"));
});

https://jsfiddle.net/0pxswgt6/2/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多