Javascript DOM在需要的位置添加表行
可能重复:Javascript DOM在需要的位置添加表行,javascript,html,dom,Javascript,Html,Dom,可能重复: 当前,此脚本在表的底部添加一行。如何告诉它将其添加到特定行之后?在桌子的最上面 <script> var i = 1; function changeIt() { var tr = document.createElement('tr'); var td = tr.appendChild(document.createElement('td')); td.style.valign = 'middle'; var span = td.appendChild(docum
当前,此脚本在表的底部添加一行。如何告诉它将其添加到特定行之后?在桌子的最上面
<script>
var i = 1;
function changeIt() {
var tr = document.createElement('tr');
var td = tr.appendChild(document.createElement('td'));
td.style.valign = 'middle';
var span = td.appendChild(document.createElement('span'));
span.style.fontWeight = 'bold';
span.appendChild(document.createTextNode('URL ' + i));
td = tr.appendChild(document.createElement('td'));
var input = td.appendChild(document.createElement('input'));
input.name = 'url' + ++i;
input.type = 'text';
input.size = '40'
document.getElementById('myTable').tBodies[0].appendChild(tr);
}
</script>
var i=1;
函数changeIt(){
var tr=document.createElement('tr');
var td=tr.appendChild(document.createElement('td'));
td.style.valign='middle';
var span=td.appendChild(document.createElement('span');
span.style.fontwweight='bold';
appendChild(document.createTextNode('URL'+i));
td=tr.appendChild(document.createElement('td'));
var input=td.appendChild(document.createElement('input'));
input.name='url'+++i;
input.type='text';
input.size='40'
document.getElementById('myTable').tBodies[0].appendChild(tr);
}
我一直在搜索Google来学习,但我不断遇到jQuery、innerhtml和insertrow答案。您正在寻找
node.insertBefore()
要添加到特定位置,您需要知道
.children
中的索引。否则,一些关键标识符(类名、属性或ID)可以传递给getBy或QSA。您想避免使用jQuery吗?呃,另一个问题有点接近。如果你想在任何其他位置插入你需要的任何东西,那么就考虑使用,这样你就返回了节点,然后在之前使用<代码>插入。此外,考虑使用jQuery进行重DOM编辑,这不是HARD.LL,“考虑使用jQuery”…为什么?本地DOM操作并没有那么难。不要向OP吹嘘,当他们对语言很陌生时,就使用抽象库,这只会在以后伤害他们。此外,IE支持的NodeList非常糟糕,包括空格和注释。另一方面,在早期IE中只包含注释节点。更容易处理。谢谢你的建议。您的修改是否在顶部添加一行?新行不再显示。确定。我必须将(node.firstChild,tr)更改为(tr,node.firstChild)。
var i = 1;
function changeIt() {
var tr = document.createElement('tr');
var td = tr.appendChild(document.createElement('td'));
td.style.valign = 'middle';
var span = td.appendChild(document.createElement('span'));
span.style.fontWeight = 'bold';
span.appendChild(document.createTextNode('URL ' + i));
td = tr.appendChild(document.createElement('td'));
var input = td.appendChild(document.createElement('input'));
input.name = 'url' + ++i;
input.type = 'text';
input.size = '40'
var node = document.getElementById('myTable').tBodies[0];
node.insertBefore(tr, node.firstChild);
}