display: none
отлично работает для удаления строки таблицы во всех браузерах.
Однако у вас есть display: block
, что не имеет смысла. Элемент «block» похож на <div>
; Вы не можете разумно поместить один прямо в <table>
.
Строка таблицы, которая не удаляется с помощью display: none
, должна иметь отображаемое значение table-row
. Однако только в IE, до версии 8, это display: block
. Это означает, что если вы переключаетесь между показом и удалением с помощью JavaScript, вам придется прослушивать браузер, чтобы выбрать, следует ли установить display: table-row
или display: block
при повторном отображении строки.
В этом случае гораздо проще сделать это косвенно, добавив и удалив row.className= 'hidden'
и применив правило таблицы стилей к .hidden { display: none; }
. Этот способ не требует обхода браузера.