7
Какой метод является предпочтительным для добавления строки в таблицу?insertRow vs. appendChild
var tr = tbl.insertRow (-1);
или
вар тр = document.createElement ('тр'); tbl.appendChild (tr);
?
Какой метод является предпочтительным для добавления строки в таблицу?insertRow vs. appendChild
var tr = tbl.insertRow (-1);
или
вар тр = document.createElement ('тр'); tbl.appendChild (tr);
?
insertRow
было бы намного лучше. Это supported браузерами класса A и менее подробный и более чистый API.
Кроме того, строки не всегда являются дочерними элементами таблицы, что делает метод appendChild более сложным. –
@rex: что вы имеете в виду? – erikkallen
insertRow
может считаться более надежным, так как это DOM [1].Метод
appendChild
последовательно быстрее (хотя и незначительно) во всех протестированных браузеров (IE6/7, FF3, Chrome2, Opera9) при работе вне из DOM, но при попытке модифицировать таблицы в документе (более общее усилие) это значительно медленнее.Другими словами: определенно используйте
insertRow
.Эти испытания проводились на местном уровне, так не может быть надежным, увидеть источник здесь: http://pastie.org/482023
источник
2009-05-18 20:28:54 James
Если вы используете методы DOM, ТР должен быть добавлен к TBODY, THEAD или TFOOT элемента, а не к элементу таблицы.
источник
2009-05-18 22:19:52 kennebec
Я вижу хорошие аргументы для insertRow, но я нахожу один недостаток: insertRow может создавать только новую пустую строку, тогда как appendChild принимает существующий объект строки. С помощью appendChild вы можете перемещать строки в таблице, перемещать строку из одной таблицы в другую или вынимать строку из таблицы, а затем возвращать ее (очень удобно для выгружаемых таблиц). Чтобы сделать то же самое с insertRow (и insertCell), вам придется упаковать содержимое, создать новые строки и ячейки, а затем добавить старое содержимое в новые ячейки. Неуклюжий и, казалось бы, менее эффективный. Есть ли более грациозный способ сделать это? Вариант insertRow, который принимает существующий объект строки, будет приятным.
источник
2010-09-17 01:07:10 Andrew
Смежные вопросы