在动态生成的 <tr> table jQuery 上获取属性值 .on("click")

get attribute value .on("click")on a dynamically generated <tr> table jQuery

我从数据库动态生成了 table。我将数据密钥存储为数据属性。现在我想把它拿出来,这样我就可以使用它了,但我一直没有定义。

var row = "<tr class= 'trainInfo' data-key='" + dataKey + "'><td data- 
key='" + dataKey + "' >"
$('.table').append(row + (childSnapshot.val().train) +
"</td><td>" + (childSnapshot.val().destination) + "</td><td>" +
(childSnapshot.val().frequency) + "</td><td>" + (nextArrival) +
"</td><td>" + (minutesAway) + "</td></tr>");

$(document).on("click", "tr.trainInfo", function addRemove() {
    var changeTrain= $(this).attr("data");
    console.log(changeTrain)
});

我知道对此有很多问题,但我真的很陌生 编码,我似乎仍然无法让它工作。

也许

$(this).data("key");

这取决于 jQuery 版本

$(this).attr("data-key");

在你的情况下,我的代码将是

$(document).on("click", ".trainInfo", function() {
//    var changeTrain= $(this).attr("data-key");
//    or 
      var changeTrain=$(this).data("key");
    console.log(changeTrain)
});