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

jQuery Discussion :

String se mute en objet


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut String se mute en objet
    Ôyé Ôyé

    Il fallait bien que ça m'arrive un jour, une situation que je ne comprends absolument pas...

    Le code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="test_A" >test</div>
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var p_id = $("#test_A").attr("id");
    alert(p_id);
    $('#test_A').append("<scrip" + "t" + ">alert(" + p_id + ");</"+"script>");

    Alors, voilà le jsfidle.

    La question : Pourquoi les deux alertes ne donne pas le même résultat ?

    • Question subsidiaire 1 : Pourquoi p_id deviens un objet ???!!!
    • Question subsidiaire 2 : comment avoir l'id en string dans le deuxième alertes.


    J'avoue que là... j'ai du manquer un chapitre quelques part.

    Bonne...... chance
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    sans plus d'explication
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var p_id; // doit être globale
    $(window).load(function(){
      p_id = $("#test_A").attr("id");
      alert(p_id);
      $('#test_A').append("<scrip" + "t" + ">alert( p_id);</"+"script>"); // sans les guillemets fait référence à la variable
    });

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir

    Il est mutin ce string !

    Et le modérateur n'est pas dans le bon forum !

    Avec un console.log() c'est beaucoup plus clair.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $( function(){
    	 var p_id =  $( "#test_A" ).attr( "id" );
     
    	 console.log( p_id );
     
    	 $( "#test_A" ).append( '<script>console.log(' + p_id + ');<\/script>' );	
     
    	 $( "#test_A" ).append( '<script>console.log("' + p_id + '");<\/script>' );						
    });
    donne :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="test_A">
        test
        <script>console.log(test_A);</script>
        <script>console.log("test_A");</script>
    </div>

    le premier script affiche toute la division dans la console, donc c'est un objet du DOM.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Ha d'accord, bon bah la c'est plus clair.

    En fait la réponse est là : http://jsfiddle.net/NBTef/5/

    Un objet avec un ID en HTML, est directement accessible par sont nom en javascript, alors là, j'apprends quelques chose !

    C'est bon à savoir. Merci bien
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Attention toutefois DANGER car risque de collision
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html>
    <head></head>
    <body>
    <div id="test_A">
    Contenu de la DIV test_A
    </div>
    <script>
    var test_A = "Chaine contenant test_A";
    alert(test_A);
    alert( document.getElementById('test_A').innerHTML);
    </script>
    </body>
    </html>

  6. #6
    Membre extrêmement actif
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 387
    Billets dans le blog
    1
    Par défaut
    Oui, en effet.

    Mais je me demande pourquoi ça a été implémenté de cette façon.

    Quand on créer un objet HTML, avec un ID : Est ce une mauvaise pratique de déclarer une variable avec le même nom en JS ?

    Quelqu'un aurait de la doc officiel à ce sujet ? (je vais chercher de mon coté)
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/12/2015, 12h46
  2. Réponses: 1
    Dernier message: 16/03/2012, 07h39
  3. Récupérer un tableau de String provenant d'un objet COM .net
    Par ricky78 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 01/02/2012, 12h47
  4. Différence entre les propriétés String et Value des objets Uicontrol
    Par occor dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 18/01/2008, 12h13
  5. Comment tester qu'un objet String est bien initialisé
    Par Jones dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/09/2004, 11h29

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