为表格单元格提供唯一ID

时间:2016-12-13 19:34:04

标签: javascript cell

我创建了一个表。

我输入了一些文字,输入了一些文字。它指的是一些具有特殊值的元素。

当我点击按钮时,productname被添加到表格中(使用insertCell())。

我想为每个新的表元素赋予一个唯一的id。

function add1() {
  var row, cell;
  var productname = document.getElementById("produkt1").value; // text input
  var table = document.getElementById("pos1"); // button near text input

  if(productname === "Egg") {
    p = ["Egg", "", 20, 10, 11, 101];
  }
  if(productname === "Milk") {
    p = ["Milk", "", 30, 5, 12, 75];
  }

  row = table.insertRow(2);
  var c_id = 0;

  for (var i = 0; i < p.length ; i++) {
    cell = row.insertCell(i);
    cell.innerHTML = p[i];

    for (var j = 0; j < 1 ; j++) {
      cell.id = 'tdp1' + k_id;
      c_id++; 
    }
  } // It only works for one element, and the others have the same id as elements from row1
}

2 个答案:

答案 0 :(得分:0)

一个。行c_id中似乎有一个类型它应该是k_id而不是function add1() { var row, cell; var productname = document.getElementById("produkt1").value; // text input var table = document.getElementById("pos1"); // button near text input if(productname === "Egg") { p = ["Egg", "", 20, 10, 11, 101]; } if(productname === "Milk") { p = ["Milk", "", 30, 5, 12, 75]; } row = table.insertRow(2); var c_id = 0; for(var i = 0; i < p.length ; i++){ cell = row.insertCell(i); cell.innerHTML = p[i]; cell.id = 'tdp1' + c_id; c_id++; } }

湾你不需要第二个for循环任何东西,只是可以删除它。 下面的代码为我提供了一个新行,其中包含每个单元格的id(tdp10到tdp15)

return

答案 1 :(得分:0)

我找到了解决方案:

function add1() {
var row, cell;
var productname = document.getElementById("produkt1").value;
var table = document.getElementById("pos1");
if(productname === "Egg") {
p = ["Egg", "", 20, 10, 11, 101];
}
if(productname === "Milk") {
p = ["Milk", "", 30, 5, 12, 75];
}
var cells = document.getElementsByClassName("pos");
row = table.insertRow(2);
for(var i = 0; i < p.length ; i++){
cell = row.insertCell(i);
cell.innerHTML = p[i];
cell.className = "pos";
for(var j = 0; j < cells.length ; j++){
cell.id = 'tdp1' + j;
}
}

我为创建的单元格提供了一个className。它正在工作,但谢谢你的帮助。 :)