我正在尝试使用JavaScript为动态生成的HTML表格的每一行添加一个按钮。这是我的代码:
// helper function
function addCell(tr, text) {
var td = tr.insertCell();
td.innerHTML = text;
return td;
}
// insert data
list.forEach(function (item) {
var row = table.insertRow();
var button = document.createElement('button');
var bText = document.createTextNode('View');
button.appendChild(bText);
addCell(row, item.itemName);
addCell(row, '$ ' + item.total.toFixed(2));
addCell(row, button);
});
我设法打印除按钮以外的所有其他字段。按钮的列只是简单地打印出来:
[object HTMLButtonElement]
只是想知道是否还有动态生成的表格中添加图像按钮?选择按钮后,我想获取行的值并将其作为参数传递给另一个函数。
答案 0 :(得分:1)
Here the fiddle。你想要什么,我不知道。这样你就可以到达这条线。
var previousitem=null;
function removeRowbyItem(item) {
item.parentElement.parentElement.style.backgroundColor="red";
if(previousitem!=null){
previousitem.style.backgroundColor="";
console.log(previousitem);
}
previousitem=item.parentElement.parentElement;
}
removeRow.innerHTML = "click me";
removeRow.onclick = function() {
removeRowbyItem(this);
};
答案 1 :(得分:0)
您可以使用td.appendChild(button);
function addCell(tr, text) {
var td = tr.insertCell();
td.innerHTML = text;
return td;
}
//for append button
function addButtonToCell(tr, button) {
var td = tr.insertCell();
td.appendChild(button);
return td;
}
// insert data
list.forEach(function (item) {
var row = table.insertRow();
var button = document.createElement('button');
var bText = document.createTextNode('View');
button.appendChild(bText);
addCell(row, item.itemName);
addCell(row, '$ ' + item.total.toFixed(2));
addButtonToCell(row, button);
});