javascript - 如何在javascript中将id添加到onclick事件中
问题描述
嗨,这是我的代码:
window.onload = () => {
main.makeList();
};
Main.prototype.makeList = function () {
api.getAll().then(tableData => {
const tableBody = document.getElementById("tableData");
let dataHtml = "";
let idProduct;
for (let i in tableData) {
idProduct = tableData[i]._id;
dataHtml +=
`<tr><td>${tableData[i].data.name}</td>` +
`<td>${tableData[i].data.price}</td>`
+ `<td>${tableData[i].data.count}</td>` +
`<td><img src="${tableData[i].data.picture}" >
<th <button class="buyButton" onclick="api.delete(+idProduct+)">Delete</button></th>
</tr>`;
}
tableBody.innerHTML = dataHtml;
})
};
const main = new Main();
const api = new Api();
我正在尝试将 idProduct 添加到 buybutton 类中,但是我无法以这种方式添加变量...
请告诉我如何修复它
解决方案
这是您重写的代码:
https://codepen.io/Karkael/pen/VwYyXyJ
Main.prototype.makeList = function () {
api.getAll().then(tableData => {
const tableBody = document.getElementById("tableData");
let dataHtml = "";
let idProduct;
for (let i in tableData) {
idProduct = tableData[i]._id;
dataHtml += `
<tr>
<td>${tableData[i].data.name}</td>
<td>${tableData[i].data.price}</td>
<td>${tableData[i].data.count}</td>
<td><img src="${tableData[i].data.picture}">
<td>
<button class="buyButton" onclick="api.delete(${idProduct})">Delete</button>
</td>
</tr>`;
}
tableBody.innerHTML = dataHtml;
})
};
- 请确保您了解 ES5 和 ES6 之间的区别,并且请仅选择其中一项以提高可读性。
- 请记住关闭您的节点,例如
<th>
. - 节点类型
<th>
用于标题单元格,从不在正文中(请使用 CSS 加粗) - 最后记住
node.innerHTML = "<some html>";
不推荐,请创建节点或编辑它们!
在那之后,我很乐意成为你的队友。:)
推荐阅读
- javascript - 正则表达式:匹配所有不包含连字符的单词
- javascript - 将 hh:mm:ss 或 mm:ss 或 ss 转换为毫秒的最有效方法是什么?
- android - gradle 在编译结束时调用一个方法
- r - 尝试在 R 和 TensorFlow 中使用本地数据执行 MNIST 示例
- asp.net - 从外部 USB 驱动器运行 MVC5 项目时找不到程序集
- android - 如何通过 shareIt 应用程序使我的应用程序无法共享?
- node.js - 使用 ng serve --open --port 4300 后无法在 Node.js 提示符中写入
- python - Python Tkinter 将文件保存为 CSV 创建额外的空格
- c# - 无法删除目录“bin\Debug\app.publish”。目录不为空
- python - 如何在 Keras 中强制(回归)模型输出的单调性?