Javascript 在具有已知ID的表行之前或之后添加表行
在这样的表格中:Javascript 在具有已知ID的表行之前或之后添加表行,javascript,html,html-table,Javascript,Html,Html Table,在这样的表格中: <table> <!-- Insert Row of bun here --> <tr id="meat"> <td>Hamburger</td> </tr> <!-- Insert Row of bun here --> </table> function AddBefore(rowId){} function AddAfter(rowId){} 汉堡包 函数A
<table>
<!-- Insert Row of bun here -->
<tr id="meat">
<td>Hamburger</td>
</tr>
<!-- Insert Row of bun here -->
</table>
function AddBefore(rowId){}
function AddAfter(rowId){}
汉堡包
函数AddBefore(rowId){}
函数AddAfter(rowId){}
我需要在不使用jQuery的情况下创建方法。。我熟悉jQuery中的append after和append before。。但是我一直坚持使用普通js。你想要的。与nextSibling一起使用可在已知元素后插入。使用
function AddBefore(rowId){
var target = document.getElementById(rowId);
var newElement = document.createElement('tr');
target.parentNode.insertBefore(newElement, target);
return newElement;
}
function AddAfter(rowId){
var target = document.getElementById(rowId);
var newElement = document.createElement('tr');
target.parentNode.insertBefore(newElement, target.nextSibling );
return newElement;
}
忘了说我也被IE7困住了。。如果在IE7中有效的话我会试试。。谢谢@支持的顺序;请参阅DHTML方法的MSDN列表:@Gaby您可能应该返回创建的行,以便使用它。此外,无需使用appendChild
;此功能包含在insertBefore
中。当第二个参数为null
@Phrogz时,我无法重新创建您所说的内容。。参见@Gaby:IE7中的parentElement/parentNode异常/FF@Perpetualcoder,parentNode是交叉浏览器节点。因为它在DOM1()中,所以应该支持它吗。。我会调查的。。