使用一个函数在同一页面中的多个表中动态添加行

时间:2011-11-11 08:55:09

标签: javascript jquery html html-table increment

我有多个表,我有一个向这些表添加行的函数:

<table id="table1" style=" border-collapse: collapse;">
<tr id="table1row1">...
<tr id="table1row2">...
<table id="table2" style=" border-collapse: collapse;">
<tr id="table2row1">...
    <tr id="table2row2">...

问题在于,当我添加行而不是给出上面的结果时,我会得到这样的结果:

<table id="table1" style=" border-collapse: collapse;">
<tr id="table1row1">...
<tr id="table1row2">...
<table id="table2" style=" border-collapse: collapse;">
<tr id="table2row1">...
<tr id="table2row3">...

当我调用函数将一行添加到另一个表时,它只是递增值

var thischannel=1;
var thisassignment=1;
var thisrow=1;  
function addRow(list,table){

    thisrow++;

    if(something to place in this to point if this is a new table or the same table){
    var thisrow=1;  
    }
}

2 个答案:

答案 0 :(得分:0)

不要将行计数保留在变量中,只需找出表中有多少行并使用该数字创建一个id

var numRows = $(tableID).find("tr").size();
var id = tableID + "row" + (numRows + 1);

完整示例:http://jsfiddle.net/HK6bA/

答案 1 :(得分:0)

我会将相同的类名应用于所有表,并在jQuery中以这种方式引用它们:

$(".className").append($("<tr><td>Hello World!</td></tr>"));

如果您想使用ID,可以这样做:

$("#table1, #table2").append("<tr><td>Hello World!</td></tr>"));