bonjour,
j'aimerais afficher une div en cliquant sur ouvrir et la cacher en cliquant sur fermer.
Je change pour ça un attribut (pas html) de la div : "etat".
Mon code marche sur tout les navigateur récent mais pas sur ie8 :'(. Je n'arrive pas à trouver le problème.
Je suis en entreprise donc je ne peux pas faire autrement.
Pourriez-vous m'aider svp?
voici le code :
j'ai essayé ça aussi :
mais la div ne s'affiche pas après l'alert.
Modifié par dacer08 (12 Nov 2010 - 10:36)
      
      
    j'aimerais afficher une div en cliquant sur ouvrir et la cacher en cliquant sur fermer.
Je change pour ça un attribut (pas html) de la div : "etat".
Mon code marche sur tout les navigateur récent mais pas sur ie8 :'(. Je n'arrive pas à trouver le problème.
Je suis en entreprise donc je ne peux pas faire autrement.
Pourriez-vous m'aider svp?
voici le code :
<html>
    <head>
        <title>Test</title>
        <link href="css/index.css" rel="stylesheet" type="text/css">
        <script src="js/index.js" language="JavaScript" type="text/javascript"></script>
    </head>
    <body>
        <div id="div_1" etat="ouvert">
            <div class="lien" id="lien_div_1" onclick="changer_etat_div_1()">fermer</div>
			etat de la div 1 : <span id="s1"></span>
            <div class="contenu">
                DIV 1 CONTENU
            </div>
        </div>
    </body>
</html>
div[etat="ouvert"] .contenu
{
    display: block;
}
div[etat="fermer"] .contenu
{
    display: none;
}
var etat_div_1 = true;
function changer_etat_div_1()
{
    var text;
    var etat;
	var old_etat_div_1 = etat_div_1;
	var old_text = document.getElementById("lien_div_1").innerHTML;
	var old_etat = document.getElementById("div_1").getAttribute("etat");
    if (etat_div_1)
        {
            etat_div_1 = false;
            etat = "fermer"
            text = "ouvrir";
        }
    else
        {
            etat_div_1 = true;
            etat = "ouvert";
            text = "fermer";
        }
    document.getElementById("div_1").setAttribute("etat", etat);
    document.getElementById("lien_div_1").innerHTML = text;
	document.getElementById("s1").innerHTML = document.getElementById("div_1").getAttribute("etat");
}
j'ai essayé ça aussi :
<script language="JavaScript" type="text/javascript">
	var oEtat = document.createAttribute("etat");
	oEtat.nodeValue = "fermer";
	var oDiv = document.getElementById("div_1");
	oDiv.setAttributeNode(oEtat);
	alert('toto');
	oEtat.nodeValue = "ouvert";
	oDiv.setAttributeNode(oEtat);
</script>
mais la div ne s'affiche pas après l'alert.
Modifié par dacer08 (12 Nov 2010 - 10:36)