Bonjour,

Je cherche à afficher/masquer des lignes de tableau HTML. En fait à remplacer une ligne affichée par une autre. Mon code est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<script>
function cache(idElement) {
	document.getElementById(idElement).style.display = "none";
	document.getElementById(idElement).style.visibility="hidden";
}
 
function affiche(idElement) {
	document.getElementById(idElement).style.display = "block";
	document.getElementById(idElement).style.visibility="visible";
}
</script>
<body>
<table border="1">
<tr><td>0</td><td>&nbsp;</td></tr>
<tr id="ligne1"><td>1</td><td><input type="button" onclick="affiche('ligne2');cache('ligne1');"></td></tr>
<tr id="ligne2" style="display:none;visibility:hidden;"><td>2</td><td><input type="button" onclick="affiche('ligne1');cache('ligne2');"></td></tr>
<tr id="ligne3"><td>3</td><td><input type="button" onclick="affiche('ligne4');cache('ligne3');"></td></tr>
<tr id="ligne4" style="display:none;visibility:hidden;"><td>4</td><td><input type="button" onclick="affiche('ligne3');cache('ligne4');"></td></tr>
</table>
<br>
</body>
</html>
Ça ne fonctionne pas correctement sous Firefox et Chrome et je ne comprends pas pourquoi : les deux <td> de mon <tr> sont fusionnés en un seul au moment de l'affichage.
Pire : ça fonctionne correctement sous IE8 ce qui me fend le coeur...

Pourriez-vous m'aider ?