获取动态创建的绑定链接的href

时间:2015-12-14 02:10:11

标签: javascript jquery

我有一些在表中动态创建的链接,这些链接的href发送GET请求以删除用户。我有这样的听众:

var $usersTableBody = $('#table-users tbody');
var $deleteUserBtn = $('.delete-user-btn');
$usersTableBody.on('click', $deleteUserBtn, deleteConfirm);

我需要获取href的{​​{1}},问题是现在我无法获取我点击的$deleteUserBtn链接,因为事件已绑定到表体。那么......我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

让你轻松

//                                  this argument should be a string
//                                  ↓
$('#table-users tbody').on('click', '.delete-user-btn', function(e) {
    alert(this.href); // "this" is the event target / source
});

请参阅http://api.jquery.com/on/#on-events-selector-data-handler

  

<强>选择
  键入:字符串
  一个选择器字符串,用于过滤触发事件的所选元素的后代。

答案 1 :(得分:2)

$(document).on("click", "a.delete-user-btn", function(event) {
  // prevent default action, to not affect any other 
  // event handlers attached to `a.delete-user-btn`
  event.preventDefault();
  // do stuff with `this` : `a.delete-user-btn` `href` property
  console.log(this.href)
})

答案 2 :(得分:0)

首先,请参阅jQuery&#39; on的文档,因为您没有使用正确的参数。

我不知道HTML的确切性质,但您可以使用事件回调对象的target属性来确定href:

$usersTableBody.on('click', function(e) {
    var $target = jQuery(e.target);
    alert('clicked: ' + $target.attr('href'));
    deleteConfirm();

    // delete action
});

另见另一个例子:https://jsbin.com/huzegufihe/edit?html,output