У меня возникают проблемы с моими HTML-таблицами, когда я скрываю и показываю строки с использованием JavaScript (display: block). Мне нужно скрыть строки с помощью JavaScript, но когда я снова показываю строки, я обнаруживаю, что макет сетки таблицы потерян, а ранее скрытая строка свернута в левую часть сетки.Неравномерные ячейки таблицы при изменении отображения нет
Мой песочница код выглядит следующим образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
table {
}
.rowA {
background-color: #70cdb3;
}
.rowB {
background-color: #fff1dc;
}
.rowC {
background-color: #edc7ff;
}
.cell {
border: solid 3pt white;
width:25%;
}
a {
cursor: pointer;
}
</style>
<SCRIPT type='text/JavaScript'>
function hide(elemid) {
var elem=document.getElementById(elemid);
elem.style.display='none';
}
function show(elemid) {
var elem=document.getElementById(elemid);
elem.style.display='block';
}
</SCRIPT>
</head>
<body>
<table>
<tr class='rowA'>
<td class='cell'>
<a onClick="hide('row1')">Hide Row1</a>
</td>
<td class='cell'>
<a onClick="show('row1')">show Row1</a>
</td>
</tr>
<tr class='rowB'>
<td class='cell'>
<a onClick="hide('row2')">Hide Row2</a>
</td>
<td class='cell'>
<a onClick="show('row2')">show Row2</a>
</td>
</tr>
<tr class='rowC'>
<td class='cell'>
<a onClick="hide('row3')">Hide Row3</a>
</td>
<td class='cell'>
<a onClick="show('row3')">show Row3</a>
</td>
</tr>
</table>
<hr>
<table class='table' style='width:50%'>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Job</th>
<th>Email</th>
</tr>
</thead>
<tbody>
<tr class='rowA' id='row1'>
<td class='cell'>one</td>
<td class='cell'>Johnny Five</td>
<td class='cell'>Robotin'</td>
<td class='cell'>[email protected]</td>
</tr>
<tr class='rowB' id='row2'>
<td class='cell'>two</td>
<td class='cell'>Super notsolong</td>
<td class='cell'>Doin' stuff</td>
<td class='cell'>[email protected]</td>
</tr>
<tr class='rowC' id='row3'>
<td class='cell'>three</td>
<td class='cell'>Super Superlonglastnamesmith</td>
<td class='cell'>Doin' stuff</td>
<td class='cell'>[email protected]</td>
</tr>
</tbody>
</table>
</body>
</html>
Используя песочницу, проблема, когда я нажимаю на кнопки Скрыть строку в верхней части песочницы, а затем показать строку еще раз - то строки ячейки разрушаются влево.
Заметим, что это, кажется, происходит в IE 10, Edge, Chrome и Firefox, но не IE9
Что я делаю неправильно?
Благодаря
A