Javascript - Id值增量行不起作用并删除行ID

时间:2016-08-24 10:44:40

标签: javascript jquery rows

我已经创建了添加行,但我的问题是,我创建的id的值不会增加。我坚持一个结果。

我还想要包含删除行,所以每当我点击“删除”按钮时,具有特定ID的行都将删除。

Here's my jsfiddle

<script>
var rowID;
function myFunction() {
    rowID++;
    var table = document.getElementById("myTable");
    var row = table.insertRow(0);
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    rowID=1;
    cell1.innerHTML = "###";
    cell2.innerHTML = "###";
    cell3.innerHTML = rowID;
    cell4.innerHTML = "<button id=''>Remove</button>";
}

提前致谢

4 个答案:

答案 0 :(得分:1)

这是因为你把它设置回来了

var cell4 = row.insertCell(3);
rowID=1; //<-- NOT NEED
cell1.innerHTML = "###";

删除此行。

这是jsFiddle。并使用var rowID = 0;

初始化它

答案 1 :(得分:0)

在定义变量时,需要将变量设置为0,以便使用++运算符将变量加1。还要删除代码中的rowID = 1(它将其重置为1),如下所示:

<script>
var rowID = 0;
function myFunction() {
    rowID++;
    var table = document.getElementById("myTable");
    var row = table.insertRow(0);
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    cell1.innerHTML = "###";
    cell2.innerHTML = "###";
    cell3.innerHTML = rowID;
    cell4.innerHTML = "<button id=''>Remove</button>";
}

答案 2 :(得分:0)

您每次设置值rowID=1时都会设置1。如果你想增加它,你也需要设置rowID=0否则如果你没有初始化它将导致NaN

<script>
var rowID;
function myFunction() {
    rowID++;
    var table = document.getElementById("myTable");
    var row = table.insertRow(0);
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    rowID=1;
    cell1.innerHTML = "###";
    cell2.innerHTML = "###";
    cell3.innerHTML = rowID;
    cell4.innerHTML = "<button id="+rowID+" onclick='Remove(this)'>Remove</button>";
}

function Remove(btn){
btn.parentElement.parentElement.remove();
}

这是jsfiddle

答案 3 :(得分:0)

var rowID = 0;
function myFunction() {
    rowID++;
    var table = document.getElementById("myTable");
    var row = table.insertRow(0);
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    //rowID=1;
    cell1.innerHTML = "###";
    cell2.innerHTML = "###";
    cell3.innerHTML = rowID;
    cell4.innerHTML = "<button id=''>Remove</button>";
}
  1. 在声明期间将var rowID初始化为0(被认为是良好做法)
  2. 你在函数本身中分配rowid是一个愚蠢的错误。
  3. jsFiddle:https://jsfiddle.net/z51z3jj1/2/