如何在表的最后一行之后添加行
How to add row after last row in table
表包含隐藏的模板行和零个或多个可见数据行。在表的末尾有一个add按钮,它应该添加新的空行到表的末尾。
I tried
function addVariablesRow() {
var t = document.getElementById("reportVariablesTable");
var rows = t.getElementsByTagName("tr");
var r = rows[rows.length - 1];
var x = rows[1].cloneNode(true);
x.style.display = "";
r.parentNode.insertBefore(x, r);
}
但是它在最后一行之前添加行到表。如何在表的最后一行之后添加行?
ASP。. NET MVC4应用程序,bootstrap 3 modal, jquery, jquery-ui都使用过。
html:<div class="modal" id="reportVariables" tabindex="-1" role="dialog" aria-labelledby="reportVariablesLabel">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-body">
<table class="table table-condensed table-striped" id="reportVariablesTable">
<thead>
<tr>
<th>Name</th>
<th>Value</th>
<th>Calculate</th>
</tr>
</thead>
<tbody>
<!-- first row is hidden add template row -->
<tr style='display:none'>
<td>
<input type="text" name="name">
</td>
<td>
<textarea name="valuetostore"></textarea>
</td>
<td>
<select class="totaltype-select" id="totaltype" name="totaltype">
<option value=""></option>
<option value="Sum">Summary</option>
<option value="Lowest">Smallest</option>
<option value="Highest">Biggers</option>
</select>
</td>
</tr>
<!-- other are visible data rows -->
<tr>
<td>
<input type="text" name="name" value="variable1">
</td>
<td>
<textarea name="valuetostore">a-b</textarea>
</td>
<td>
<select class="totaltype-select" id="totaltype" name="totaltype">
<option value=""></option>
<option value="Sum">Summary</option>
<option value="Lowest" selected>Smallest</option>
<option value="Highest">Biggers</option>
</select>
</td>
</tr>
... remaining rows
</tbody>
</table>
<button onclick="addVariablesRow();">+</button>
</div>
</div>
</div>
</div>
更新我需要克隆模板行,这是第一个在主体和使新行可见。我试着:
function addVariablesRow() {
var $t = $("#reportVariablesTable");
var $row = $($t.find("tr")[1]);
var r = $row.clone();
r[0].style.display = "";
r.appendTo($t);
}
这是最好的代码吗?也许它是更好地找到模板行作为第一个在体? 正如您所提到的,JQuery是一个选项,您可以这样使用:
function addVariablesRow() {
var $t = $("#reportVariablesTable");
var $row = $t.find("tbody tr").first();
var $newRow = $row.clone();
$newRow.appendTo($t).show();
}
可以像这样通过jQuery完成,
$('#reportVariablesTable tr:last').after('<tr>...</tr><tr>...</tr>');
您可以在after()方法中包含任何内容,只要它是有效的HTML,包括上面示例中的多行。
var t = document.getElementById("reportVariablesTable");
var row = document.createElement("tr")
t.appendChild(row)
$('#reportVariablesTable').find('tbody:last')
.append($('#reportVariablesTable')
.find('tbody:first').clone());
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 动态插入的表:JQuery未检测到最后一行
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- 如何使段落在从包装标题的最后一行开始的浮动标题之后流动
- Node.js:在文本文件中的特定行之后插入一行
- 在更新数据库中的一行之后,再次运行php行
- Javascript函数在某一行之后停止
- 在表的每行之后添加一行
- 如何仅在第一行代码执行之后执行下一行代码
- 附加到元素的脚本标记会在.append()之后的下一行之前运行吗?
- 如何在表的最后一行之后添加行
- JavaScript For循环在代码的某一行之后不起作用
- 在单击add函数的位置之后添加另一行
- 使用jquery在特定行之后添加一行,并使用滑动效果
- 获取一行中当前选择元素之后的所有选择