添加按钮到动态生成的HTML表

时间:2017-12-14 06:04:50

标签: javascript html html-table

我正在尝试使用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]

只是想知道是否还有动态生成的表格中添加图像按钮?选择按钮后,我想获取行的值并将其作为参数传递给另一个函数。

2 个答案:

答案 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);
});