[CSS] display: {block|none}; TABLE sous IE???

Résolu/Fermé
MoI - 8 janv. 2006 à 02:14
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 - 20 août 2012 à 16:58
Voilà je vouderais savoir comment faire pour faire disparaitre un tableau sous IE
<table id="mytable" style="display: block;">
<tr>
<td>:) test</td>
</tr>
</table>
<script>
document.getElementById('mytable').style.display = 'none';
</script>

Marche sous FF mais pas sous IE... y'a pas une méthode?
si non, comment faire pour que IE le face disparaitre?

je vous remerci d'avance....
A voir également:

7 réponses

http://www.w3schools.com/css/pr_class_display.asp

display = "table" pour les tableaux, cher monsieur thifoolish, gardien de la morale
7
thifoolish Messages postés 79 Date d'inscription jeudi 11 janvier 2007 Statut Membre Dernière intervention 11 juillet 2008 18
25 avril 2008 à 15:05
Entre autre la balise <script> bonne remarque de SpikyGolden, à moins qu'il n'ait déjà précisé
dans l'entête html de sa page web le langage de script par défaut.


Personnellement je ferais une fonction javascript que j'appellerais seulement si besoin,
avec des gestionnaires d'évènements (onclick / onblur / onchange etc...)

Pour la documentation javascript: http://fr.selfhtml.org/javascript/intro.htm


Pour le côté CSS, côté compatibilité avec les anciens navigateurs web, un peu de respect
à ce niveau:
mettre
style="display:block;"
au lieu de
style="display: block;"

et puis tant qu'on y est :
NE PLUS METTRE D'ATTRIBUT style="" DANS VOS BALISES HTML, merci.
Préférez utiliser les CSS pour la MISE EN FORME DE VOS PAGES HTML
class=""
et dans un fichier CSS nommé par exemple "mesStyles.css":

.maPremiereClasseCssQuiMetEnGras {
font-weight:bold;
}

/* un exemple */
a#lienQuiAfficheMyTable {
color:white;
background-color:black;
text-decoration:none;
}

a#lienQuiAfficheMyTable table#mytable {
display:none;
}

a#lienQuiAfficheMyTable:hover {
color:black;
background-color:red;
text-decoration:underline;
}

a#lienQuiAfficheMyTable:hover table#mytable {
display:block;
}

Il faut encapsuler le tableau dans le lien hypertexte, comme le code CSS ci-dessus l'exige:
<a href="" title="" id="lienQuiAfficheMyTable">
<table id="mytable ">
<tr>
<td>
</td>
</tr>
</table>
</a>

Pas testé, pas garanti, mais ça devrait marcher correctement sur tous les navigateurs web.


Pour les problèmes avec IE... IE est un problème à lui seul...
Regardez les hacks et les pseudos-commentaires.
Regardez aussi du côté failles de sécurité et conformité aux normes internationales:
IE = poubelle de M$
Firefox = avenir du web


Bonne journée.
2
IE ne reconnait pas le style block pour les elements tr ...

ni le inline ni le table-row ...

Bref IE est top :!!!

Pour contourner ce souci il suffit de mettre
elem.style.display="";
0
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
27 nov. 2007 à 11:48
Au lieu de mettre :
style.display = 'none'

tu mets :
style.visibility = 'hidden'


ps : inverse :
style.visibility = 'visible'

1
Il y a un problème avec visibility c'est que l'objet est que l'espace consacré à l'élément est toujours visible, seul le rendu est caché, contrairement à la propriété display qui cache l'élément et son espace. Du coup pour remplacer une cellule par une autre dans un tableau, ca ne peut pas fonctionner
0
j'ai des doute sur ta balise script.. Elle devrait plutot resembler à <script language="javascript" type="text/javascript">
1
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
20 août 2012 à 16:58
certes oui
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
18 avril 2006 à 12:23
Salut!

Ca fonctionne chez moi avec IE 6.0.

As-tu vérifié tes paramètre de sécurité Javascript dans IE?

;-)
0
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
20 août 2012 à 16:57
j'utilise chrome en fait * mais j'ai vérifié et tout me semble correct
0
Bonjour,
Meme probleme pour moi, cela fonctionne tres bien sous Firefox, Opera 9.5b1 et Safari PC 3.03b. Mais sous IE6 et IE7, Nada. Message d'erreure d'IE7 : Impossible d'obtenir la propriété display : argument non valide.

Quelqu'un aurait il une solution s.v.p. ? Merci d'avance.

voici l'extrait de mon code ou j'utilise cette methode :

[...]
echo '<tr onclick="if($(\''.$scelles['id_scelle'].'s'.'\').style.display == \'none\'){$(\''.$scelles['id_scelle'].'s'.'\').style.display=\'table-row\';$(\''.$scelles['id_scelle'].'sb'.'\').style.display=\'table-row\';}else{$(\''.$scelles['id_scelle'].'sb'.'\').style.display=\'none\';$(\''.$scelles['id_scelle'].'s'.'\').style.display=\'none\';};">
[...]
0
angelus1821 Messages postés 192 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 21 décembre 2014 16
20 août 2012 à 16:57
en fait, ce que je souhaite c'est caché mes div selon le choix de l'utilisateur, j'ai essayé de remplacé ma liste deroulante par des boutons radios ça me fait la même chose c'est à dire rien ......... mais ....... j'ai fais la choses suivante pour voir si c'etait un problème de style :
j'ai mi un id="tableau" sur mon tableau et dans mon script, j'ai la chose suivante :
function TestListe()
        {
                var bouton1= document.getElementById("btnradio1");
		var bouton2= document.getElementById("btnradio2");

				
                if (bouton1.value == "mapremiereOption")
                {					
					
					document.getElementById('tableau').style.display='none';						//donc je fais disparaitre mon tableau pour voir si mon style fonctionne 		
						
                }
				// etc....


et mon tableau disparaît bien, j'ai essayé dans d'autres zone de ma page, et mes éléments disparaissent ..... sauf quand je sélectionne dans une liste déroulante ou ici avec les boutons radio ...... bizzare .....
0