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

Résolu
MoI -  
angelus1821 Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   -
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

yo
 
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   Statut Membre Dernière intervention   18
 
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
SapceHog
 
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 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Au lieu de mettre :
style.display = 'none'

tu mets :
style.visibility = 'hidden'


ps : inverse :
style.visibility = 'visible'

1
mioux
 
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
SpikyGolden
 
j'ai des doute sur ta balise script.. Elle devrait plutot resembler à <script language="javascript" type="text/javascript">
1
angelus1821 Messages postés 191 Date d'inscription   Statut Membre Dernière intervention   16
 
certes oui
0

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

Posez votre question
Utilisateur anonyme
 
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 191 Date d'inscription   Statut Membre Dernière intervention   16
 
j'utilise chrome en fait * mais j'ai vérifié et tout me semble correct
0
Jef
 
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 191 Date d'inscription   Statut Membre Dernière intervention   16
 
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