您好,感谢您抽出时间。
我有一个疑问,因为我试图将从 Firebase 数据库中读取的 ID 与标识该按钮的 ID 关联起来。这很重要,因为此按钮会将我们引导至事件的修改页面,因此事件的 ID 就是我们用来加载其数据的 ID。
但是这些按钮的 ID 看起来像是向前一位,让我们看看:
如您所见,按钮 0 的 ID 为 Ejemplo nuevo,它是下一行的事件,依此类推。
函数代码:
function insertPlans() {
setReferences();
$("#title").html("Planes");
resetAllData();
$("#table thead").html("<tr>" +
"<td>ID</td> <td>Capacidad</td> <td>Fecha</td> <td>Descripción</td> <td>Ubicación</td> " +
"<td>Título</td> <td>Organizador</td> <td>Precio</td> <td>Prioridad</td><td>Asistentes</td>" +
"<td>Visibilidad</td></tr>");
dbRef.child('plans').once('value', function (snap) {
snap.forEach(function (planID) {
dbRef.child('plans/' + planID.key.toString()).once('value', function (snap) {
var row = "<tr><td><button id='new-button' class='btn btn-primary' onclick='saveEventName(this.id)'>Modificar evento</button>" + planID.key.toString() + "</td>";
$("#new-button").attr('id', planID.key.toString());
snap.forEach(function (fields) {
row += "<td>" + fields.val() + "</td>";
});
$("#table").find("tbody").append(row + "</tr>");
});
$("#table").find("tbody").append("</tr>");
});
});
}
另外,如果我将控制台日志设置为:
它打印出正确的 ID:
你能帮我一下吗?
最佳答案
$(‘#new-button’) 始终引用前一行,因为我们尚未将 row
附加到文档。
您可以先插入行
,然后您可以使用选择器更改其ID
关于JavaScript JQuery 为什么按钮的 ID 没有被正确引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484234/