返回按钮id问题jquery

时间:2016-03-20 17:14:04

标签: jquery button

我正在尝试返回我的按钮ID:

$(document).on('click', 'button.btn.btn-primary', function() {
    console.log(this.id);
});

然而,这会返回undefined。当我尝试console.log(this)时,我找回了一个窗口对象。我没有看到我的其他按钮的这种行为,我返回了id ..有人可以帮忙吗?

这是我的HTML:

<tr class="child">
    <td class="child" colspan="8">
        <li data-dtr-offset-index-"7">
            <span class="dtr-title"></span>
            <span class="dtr-data">
                <button id="{{product_code}}" type="button" class="btn btn-primary">Add to Cart</button>
            </span>
        </li>
    </td>
</tr>   

附加背景:

我正在使用jquery数据表。当表处于响应模式时,将呈现上述html。 提前谢谢!

3 个答案:

答案 0 :(得分:1)

您需要在onload构造中添加它,以便按钮存在

请注意,所有发布的jsfiddle示例都有默认onload而不是in head

$(function() {
  $(document).on('click', 'button.btn.btn-primary', function() {
    console.log(this.id);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<tr class="child">
  <td class="child" colspan="8">
    <li data-dtr-offset-index- "7">
      <span class="dtr-title"></span>
      <span class="dtr-data">
                <button id="{{product_code}}" type="button" class="btn btn-primary">Add to Cart</button>
            </span>
    </li>
  </td>
</tr>

答案 1 :(得分:0)

您是否尝试过jQuery解决方案?

$(document).on('click', 'button.btn.btn-primary', function() {
    console.log($(this).attr('id'));
});

答案 2 :(得分:0)

https://jsfiddle.net/yt22yq8h/

$(document).on('click', 'button.btn.btn-primary', function() {
    console.log(this.id);
});

这对我来说很好。参见上面的小提琴。它确实在控制台中显示了id。