IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

innerHTML Erreur pour changer une div avec if


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut innerHTML Erreur pour changer une div avec if
    Bonjour,

    voici un bout de code
    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
    <script type="text/javascript">
    window.onload = function (){
    	change_artwork();
    }
     
    </script>
    </head>
     
    <body>
    <script type="text/javascript">
    function change_artwork(){
    	if (document.getElementById('artwork').value = '.'){
    		document.getElementById('artwork').innerHTML = " ";
    	}
    }
    </script>	
     
    <div id="artwork">GO
    </div>
    pourquoi même si il y a marqué Go, la div change quand même ?
    No comprendo ...

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    if (document.getElementById('artwork').value = '.')
    L'opérateur de comparaison est "==".

    A+.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    parce qu'un div n'as pas de value ?
    et qu'une comparaison d'égalité se fait avec ==

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function change_artwork(){
    	if (document.getElementById('artwork').innerHTML == "GO"){
    		document.getElementById('artwork').innerHTML = "MARCHE";
    		alert(document.getElementById('artwork').innerHTML);
    	}
    }
    ne marche toujours pas ?

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Parce que
    <div id="artwork">GO
    </div>
    Pense à nettoyer les retours à la ligne avec un RegEx.

    A+.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Ok merci beaucoup ça marche !

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tu as un retour ligne dans la div
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="artwork">GO</div>
    si tu modifies ton html ainsi, là ça fonctionnera

  8. #8
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Excuser de m'incruster dans votre discussion mais puisque c'est dans le sujet, quelle est la différence entre:
    et
    Si quelqu'un pouvait m'expliquer et participer a ma culture cybernétique ça serait sympa car je ne sais vraiment pas pourquoi ce n'est pas pareil.
    Excusez le dérangement.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Le retour chariot

  10. #10
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Parce que le retour à la ligne est un "\n" ou "\r" selon le système d'exploitation avec lequel on a édité le fichier, ou généré le fichier ou même on a utilisé pour mettre un retour à la ligne, donc avec
    <div>GO
    </div>
    tu auras pour son innerHTML "GO\n" ou "GO\r"

    A+.

  11. #11
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut
    Merci pour votre réponse, je savais pour la différence de retour et j'ai parfaitement compris que quand je crée un document HTML sous Linux il y aura des légère différences sous windows, d'ailleur dans l'absolu des fichiers textes sa ne serai pas possible car le retour chariot sous Linux est '\n' et sous windows '\r\n' mais bon avec mon éditeur (kate) sa passe aussi bien sous Linux oû je crée mes fichiers que sous windows.
    Mais quelles répercussions y a t-il au niveau HTML: donc il vaut mieux cette syntaxe:
    que l'autre car il y aurai un retour chariot dans la partie texte de la balise <div> si l'on va a la ligne pour fermer la balise, si j'ai bien compris.

    Merci d'avoir contribuer a ma culture cybernétique.

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 908
    Points
    44 908
    Par défaut
    Bonsoir,
    il y a une influence non négligeable sur la façon de construire le DOM de la part des navigateurs IE ou autres

    Je te mets un petit fichier exemple pour voir les rendus, à tester sur IE et FireFox par exemple
    Code html : 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
    <!DOCTYPE html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>[...]</title>
    </head>
    <body>
    <button>Bouton #1</button><button>Bouton #1</button>
    <br>
    <button>Bouton #1</button>
    <button>Bouton #1</button>
    <br><br>
    <div id="la_div1">
    <b>Le texte #1 à la ligne</b>
    </div>
    <button onclick="alert( document.getElementById('la_div1').firstChild.nodeName);">Test #1</button>
    <br><br>
    <div id="la_div2"><b>Le texte #2 à la suite</b></div>
    <button onclick="alert( document.getElementById('la_div2').firstChild.nodeName);">Test #2</button>
    </body>
    </html>
    on observe une différence de rendu ainsi qu'une différence dans l'accès au DOM.

    Un lien à voir Pourquoi le comportement du DOM est-il différent sous FireFox et IE ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer un fichier html pour changer une div de la page en cours
    Par 69Pierre dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 24/04/2015, 21h16
  2. Réponses: 14
    Dernier message: 04/10/2012, 13h14
  3. Réponses: 5
    Dernier message: 26/05/2005, 15h40
  4. [DOM] Erreur pour valider une DTD
    Par lenghh dans le forum Format d'échange (XML, JSON...)
    Réponses: 13
    Dernier message: 19/05/2004, 18h15
  5. Conseils pour developper une application avec Oracle
    Par belugha dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 02/06/2003, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo