使用JavaScript在HTML表中间插入行
我有一个包含两行的表使用JavaScript在HTML表中间插入行,javascript,html,Javascript,Html,我有一个包含两行的表 <tr id="row1"><td>first row</td></tr> <tr id="row2"><td>second row</td></tr> 第一行 第二排 我需要使用java脚本在第1行和第2行之间插入几行。 我可以通过使用java脚本创建元素来实现这一点。但我希望使用字符串html内容添加新行。 例如: "<tr><td>This ro
<tr id="row1"><td>first row</td></tr>
<tr id="row2"><td>second row</td></tr>
第一行
第二排
我需要使用java脚本在第1行和第2行之间插入几行。
我可以通过使用java脚本创建元素来实现这一点。但我希望使用字符串html内容添加新行。
例如:
"<tr><td>This row is placed between first and second</td></tr>".insertAfter(first row Id);
“此行位于第一行和第二行之间”。插入后面(第一行Id);
有没有这样的方法在中间添加行?使用jQuery。有一个函数
var newRow=document.createElement(“tr”);
newRow.innerHTML=“此行已放置…等”;
var row2=document.getElementById(“row2”);
row2.parentNode.insertBefore(newRow,row2);
请在此阅读:var-button=document.getElementById('insert');
var table=document.getElementById('table');
button.onclick=函数(){
变量位置=数学圆(table.rows.length/2);
var row=表.插入行(位置);
row.innerHTML='此行位于'+position+'和'+(parseInt(position)+1)+''之间;
}
**之后,如果您可以这样使用,您还可以增加您的行id:**
var rowId='#'+tableId+'tr';
var k=0;
$(rowId)。每个(函数(){
var ObjInput=$(this).find('input[type=text],input[type=radio],input[type=checkbox],textarea,select,input[type=img],input[type=hidden],input[type=button],img');
if(ObjInput!=null){
对于(var j=0;j
是的,我可以使用。但是有参考代码吗?如果可以的话,我总是建议不要使用jQuery。下面是一个完全本机的JS解决方案。@NickDugger考虑到jQuery是JS,难道没有人认为可以在jQuery中完成的任何事情都可以在本机JS中完成吗?除非需要,否则使用jQuery是没有意义的。它会增加19 kB的内存,如果你可以使用普通JS来完成同样的事情,而不是专门用于做某事,建议简单地“使用jQuery”既没有帮助也没有效果。如果可以,请始终使用本机JS。
$("#row1").insertAfter("your html");
var newRow = document.createElement("tr");
newRow.innerHTML = "<td>This row is placed... etc.</td>";
var row2 = document.getElementById("row2");
row2.parentNode.insertBefore(newRow, row2);
var button = document.getElementById('insert');
var table = document.getElementById('table');
button.onclick = function() {
var position=Math.round(table.rows.length / 2);
var row = table.insertRow(position);
row.innerHTML = '<td>This row is placed between '+position+' and '+(parseInt(position)+1)+'</td>';
}
**after that if u can use like that u can increment ur row id also:**
var rowId = '#' + tableId + ' tr';
var k = 0;
$(rowId).each(function () {
var ObjInput = $(this).find('input[type=text],input[type=radio],input[type=checkbox],textarea,select,input[type=img],input[type=hidden],input[type=button],img');
if (ObjInput != null) {
for (var j = 0; j < ObjInput.length; j++) {
var inputId = $(ObjInput[j]).attr('id');
inputId = inputId.replace(/_[0-9]{1,2}/g, '_' + k);
$(ObjInput[j]).attr('id', inputId);
$(ObjInput[j]).attr('name', inputId);
}
k++;
}
});