在附加表的现有函数中使用jQuery insertAfter

时间:2011-03-09 22:15:11

标签: javascript jquery html-table append

以下是我目前的情况:http://jsfiddle.net/JEAkX/1/

我试图在最后tr之后得到附加的单元格。此外,我正在尝试更改appendTable(id)函数,以便输出单元格的内容位于<input>字段内,就像原始单元格一样。

对于我尝试的<input>添加:

在不同点添加输入字段代码<input type='text' size='1' value='subset[i++]' />但没有运气我也在其他位置尝试过,但将值更改为value='c'

在最后一次尝试后追加我尝试过:

使用jQuery和.insertAfter('#alphabetTable tbody>tr:last')我将它添加到cell.appendChild(document.createTextNode(subset[i++]));行的各个部分,但没有运气......可能是错误的放置?

我觉得自己处于正确的轨道上,但缺乏Javascript知识,无法确切知道插入代码的位置以及周围代码是否需要更改。

2 个答案:

答案 0 :(得分:0)

使用JQuery会更容易,但这里有一个提示:

function appendTable(id)
{
    var tbody = document.getElementById(id).getElementsByTagName("tbody")[0];
    var i = 0;
    var html = '<tr>';
    for(i=0;i<4;i++){
        html += '<td><input type="text" size="1"/></td>';
    }
    html += '</tr>';

    tbody.innerHTML += html;
}

答案 1 :(得分:0)

Jquery的:

var $tbody = $('#mytableid tbody:eq(0)');
var $tdLen = $('#mytableid tbody:eq(0) tr:eq(0) td').length; // cell length in row
$("<tr>").appendTo($tbody);
//append cells to row with input text
for (var i=0;i<$tdLen;i++){
    var inp = $("<input>").attr("type","text").attr("name","text"+i).val(i);
    var tdTemo = $("<td>");
    inp.appendTo(tdTemo);
    tdTemo.appendTo("tr:last");
}

此脚本会将行附加到表并添加4个包含输入类型文本的文件:)