将字符串包裹在<table><tbody>..rows here...</tbody></table>
. 然后,创建一个虚拟元素,例如<div>
,并将innerHTML
属性设置为先前构造的字符串。最后,遍历所有行,并使用 . 将行移动到表中insertBefore(newelem, reference)
。
此方法也适用于 IE,其中innerHTML
在单元格上设置属性会触发错误。
var raw_html, prev_element, last_element_parent, rows, i;
raw_html = '<tr>....etc....</tr>';
prev_element = document.getElementById('last_element');
last_element_parent = prev_element.parentNode;
dummy = document.createElement('div');
dummy.innerHTML = '<table><tbody>' + raw_html + '</tbody></table>';
rows = dummy.firstChild.rows;
for (i=rows.length-1; i>=0; i--) {
last_element_parent.insertBefore(rows[i], prev_element.nextSibling);
}