Javascript 如何在表中的某个位置插入新行

Javascript 如何在表中的某个位置插入新行,javascript,jquery,html-table,Javascript,Jquery,Html Table,我有一张桌子。 在tbody中,我通过angularjs显示数据。在thead中,我的行与tbody中的行相同,但它是空的,当我填写输入字段并单击某个地方(焦点丢失)时,一行会添加到我的表中(thead)。我需要在填充的行上做一些标记,比如-rowAdded=true,因为如果不这样做,我单击一行的输入并添加行。还有一个问题是,行添加到表的末尾。 所有这些都适用于此脚本: var tbody = $('.table-timesheet thead'); tbody.on('blur', ':te

我有一张桌子。 在
tbody
中,我通过
angularjs
显示数据。在
thead
中,我的行与
tbody
中的行相同,但它是空的,当我填写输入字段并单击
某个地方(焦点丢失)时,一行会添加到我的表中(
thead
)。我需要在填充的行上做一些标记,比如-
rowAdded=true
,因为如果不这样做,我单击一行的输入并添加行。还有一个问题是,行添加到
表的末尾。
所有这些都适用于此脚本:

var tbody = $('.table-timesheet thead');
tbody.on('blur', ':text', function () {
    var tr = $(this).closest('tr'),
        notEmpty = $(':text', tr).filter(function () {
            return $.trim($(this).val()) != '';
        }).length;
    if (notEmpty) {
        $('.note-input').css('width', '88%').css('float', 'left');
        $('.timesheet-delete-button').css('display', 'block');
        //tr.clone(true).appendTo(tbody).find(':text').val('');
        insRow();
    }
});

function deleteRow(row) {
    var i = row.parentNode.parentNode.rowIndex;
    document.getElementById('table-body').deleteRow(i);
}


function insRow() {
    var table = document.getElementById('table-body');
    var newRow = table.rows[1].cloneNode(true);
    var len = table.rows.length;
    newRow.cells[0].innerHTML = len;

    var inp1 = newRow.cells[1].getElementsByTagName('input')[0];
    inp1.id += len;
    inp1.value = '';
    var inp2 = newRow.cells[2].getElementsByTagName('input')[0];
    inp2.id += len;
    inp2.value = '';
    table.appendChild(newRow);
}
我在plunker中举了一个例子:
这就是你要找的吗

行内函数(ind){
var table=document.getElementById('table-body');
var newRow=table.rows[1].cloneNode(true);
var len=table.rows.length;
newRow.cells[0]。innerHTML=ind!==未定义?ind:len;
如果(ind!==未定义)
$(table.find('tr:eq('+ind+'))。在(newRow)之前;
else表.appendChild(newRow);
}
督察(2)

1.
2.
3.

要清楚地阅读您的问题有点困难,我认为这实际上是一个多问题的问题。是否要将新行添加到表头(THAD)?如果是,为什么不想使用tbody?通常,AD用于提供有关列的信息。添加行的所有整体功能似乎都被破坏了,因为每次我在其中一列中添加信息时,它都会生成一个新行。看起来您做了太多DOM操作,而且还依赖document.ready。在角度应用程序内工作的方法是完全错误的。您应该更新数据模型以生成视图,而不是自己插入行。如果您想要更多,请更新演示,使angular至少可以通过控制器引导help@HUSTLIN还应该添加angular.js标记