在特定行下面添加tr
Add tr below specific row
我有一个表,每一行都有不同的记录。点击"显示"链接后,在td。我想在当前tr的下面显示另一个tr。
我在点击"显示"链接后调用"opentr"函数。如何使用链接id" uniqueid"在当前tr后添加新的tr
<table id="table" border="0">
<th>Col 1</th> <th>Col2</th> <th>col3</th>
<tbody>
<tr>
<td>
<a onclick ="opentr();" id="uniqueid">show</a>
</td>
<td>
<input type="text"></input>
</td>
<td>
<input type="text"></input>
</td>
</tr>
</tbody>
</table>
这是一个香草js示例。注意,在html的"onclick"处理程序中添加了"this"。
如果你愿意,我可以展示如何添加一个全局处理程序,将照顾所有行的onclick链接。
function opentr(el) {
var currTR = el.parentNode.parentNode;
var newTR = document.createElement("tr");
newTR.innerHTML = "<td>Col 1</td><td>Col 2</td><td>Col 3</td>";
currTR.parentNode.insertBefore(newTR, currTR.nextSibling);
}
.after { font-weight: bold }
<table id="table" border="0">
<th>Col 1</th> <th>Col2</th> <th>col3</th>
<tbody>
<tr>
<td>
<a onclick ="opentr(this);" id="uniqueid">show</a>
</td>
<td>
<input type="text"></input>
</td>
<td>
<input type="text"></input>
</td>
</tr>
</tbody>
</table>
我在这个示例中找到了解决方案http://live.datatables.net/harurej/1/edit
这是我的代码
$('#tablaConsolidado tbody').on('click', 'td.details-control', function () {
var tr = $(this).closest('tr');
var row = table.row(tr);
if (table.row(tr).child.isShown() ) {
// This row is already open - close it
table.row(tr).child.hide();
tr.removeClass('shown');
}
else {
// Open this row
ajax().done(function(result) {
// Code depending on result
tr.addClass('shown');
table.row(tr).child(
$(result.d)
).show();
}).fail(function() {
// An error occurred
});
}
});
这对我有用
function opentr()
{
var oldTr = $('.uniqueid').parents("tr:first");
var newTr = $("<tr><td></td></tr>");
oldTr.after(newTr);
}
@Raj
我相信你正在寻找这样的东西。http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_table_insertrow
我粘贴了对该链接的代码进行了轻微修改,并使用了您的表结构。
<table id="myTable" border="0">
<th>Col 1</th> <th>Col2</th> <th>col3</th>
<tbody>
<tr>
<td>
<a onclick ="opentr(this);" href='#' id="uniqueid">show</a>
</td>
<td>
<input type="text"></input>
</td>
<td>
<input type="text"></input>
</td>
</tr>
</tbody>
</table>
<script>
function opentr(anchor) {
var currentTr = anchor.parentElement.parentElement;
var table = currentTr.parentElement;
var row = table.insertRow(currentTr.rowIndex);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(1);
cell1.innerHTML = "NEW CELL1";
cell2.innerHTML = "NEW CELL2";
cell3.innerHTML = "NEW CELL3";
}
</script>
相关文章:
- 用Javascript添加带有#text的tr元素
- 如何将类添加到<tr>标记
- 如何在遍历表和添加新元素时获得tr的索引
- 将类添加到当前tr
- 添加<tr>元素到动态表,动态不刷新页面,php-jquery
- 如何在动态创建的tr标签表中添加合计
- 在表末尾动态添加TR
- 在数据表表和普通 DOM 表之间移动(添加/删除)tr 行
- 添加 tr 标签会导致函数停止工作
- j查询点击事件,用于在具有特定 ID 的表中动态添加 tr
- 如何在TR的最后一个TD中添加事件或将ID属性添加到IMG标签
- 在IE8中动态添加tr和td设计问题
- JavaScript添加和删除<tr>使用EventListener和jQuery
- 创建<td>动态地添加到<tr>
- jQuery仅将addClass添加到<td>其中父<tr>具有特定类别
- 添加&单击按钮时减去TR(ID+1)
- 将类添加到表中的 tr (JQuery)
- 将tr添加到table中使用javascript将一个新的tbody添加到html表中
- 在特定行下面添加tr
- 在IE的表格中添加tr