2010-08-30 3 views
0

Когда я удаляю первую строку в таблице html, IE8 оставляет пустую строку в конце таблицы (после нижнего колонтитула).deleterow ie8 problem

Я использую метод: objTable.deleteRow(objRow.rowIndex);

Моя таблица использует элементы тегов: THEAD, TBODY, TFOOT.

+0

Что библиотека Javascript вы используете? Я не считаю, что 'deleteRow' является фактической функцией Javascript ... –

+1

@Topher:' deleteRow' - это [метод DOM] (http://www.w3.org/TR/2000/WD-DOM-Level- 1-20000929/уровень-один-html.html # Идентификатор-64060425). – Helen

+0

@Helen - Ну, как это случилось ... Я не ожидал, что это будет частью DOM. Думаю, я должен это прочитать в ближайшее время. –

ответ

1

Вы используете YUI? Если это так, вы можете быть заинтересованы в проверке http://developer.yahoo.com/yui/examples/datatable/dt_rowadddelete.html и использовать их пример, чтобы узнать, столкнулись ли вы с теми же проблемами в своем браузере. Если вы это сделаете, это, вероятно, проблема IE8 (скорее всего) или проблема с YUI.

Вам также может быть интересно попробовать что-то вроде jQuery. Гораздо более легкий вес и в значительной степени совместим с кросс-браузером.

0

Вы можете попытаться сбросить класс таблицы и установить его снова (с prototype js, но вы можете сделать это руками):

// Hack. ie8 leaves a blank line at the end of the table, when delete the first row in a html table. 
// http://stackoverflow.com/questions/3604183/deleterow-ie8-problem 
if (Prototype.Browser.IE && ROW_YOU_DELETE_INDEX == 0) { 
    YOUR_TABLE.removeClassName('YOUR_TABLE_CLASS_NAME') 
       .addClassName('YOUR_TABLE_CLASS_NAME'); 
}