如果新的 HTML 元素只是一个字符串,那么您的代码是正确的并且没有问题。但是,当 HTML 元素包含 HTML DOM 元素(尤其是输入、文本区域等表单的一部分)时,您应该使用 document.createElement() 方法。如果你使用原型和scriptaculous,你应该尝试 Builder.node()。
/* using native DOM */
//create new row
var new_row = document.createElement('tr');
//create new column
var new_column = document.createElement('td');
//add a text to column or cell
new_column.innerHTML = 'my new string';
new_row.appendChild(new_column);
tableelement.insertBefore(new_row, tableelement.firstChild);
/* using prototype & script.aculo.us */
var new_cell = Builder.node('tr', [
Builder.node('td', 'my new string')
]);
new Insertion.Top(tableelement, new_cell);