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 :

Quelle est la Différence entre .html() et .html(function(){}) ?


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut Quelle est la Différence entre .html() et .html(function(){}) ?
    bonjour,

    j'ai remarqué qu'il y a une différence entre
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#Conteneur").html($("#LeContenu").html())
    et
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#Conteneur").html($("#LeContenu").html(function(){}))

    Avec .html() seulement, le Css approprié à l'élément #LeContenu n'est pas appliqué, par-contre si j'utilise .html(function(){}) le Css est bien appliqué.

    pouvez vous m'expliquer qu'elle est le rôle de la function(){} à l'intérieur de html() ? par-ce que si je l'enlève le Css ne sera pas appliqué.

  2. #2
    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
    $("#Conteneur").html( $("#LeContenu").html( function(){ }) ) fonctionne comme un append() en déplaçant un élément du DOM.

    Exemple :

    Code css : 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
    p {
        margin: 8px;
        font-size: 20px;
        color: blue;
        cursor: pointer;
      }
    b {
      text-decoration: underline;
    }
    button {
      cursor: pointer;
    }
    #text {
      color: red;
    }
    #tag {
      color: green;
    }
    button[name="nada"] {
      color: yellow;
    }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <p>
      <b>Click</b> to change the <span id="tag">html</span>
    </p>
    <p>
      to a <span id="text">text</span> node.
    </p>
    <p>
      This <button name="nada">button</button> does nothing.
    </p>

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $( "#tag" ).on( "click", function() {
     
      // Function( Integer index, htmlString oldhtml ) => htmlString
      // fonctionne comme un append() en déplaçant un déplaçant un élément du DOM
      // le contenu du paramètre oldHtml est faux
     
      $( this ).html( $( "#text" ).html( function( i, oldHtml ){ console.log( i, oldHtml ); return '<b>Hello</b>'; } ) );
    });

    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.)

  3. #3
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 511
    Par défaut
    parfait danielhagnoul,

    merci beaucoup pour l'explication, je viens de retenir 2 astuces que je ne connaissais pas avant :

    1-possibilité d'utiliser l'attribut "name" d'un élément bouton dans le Css.
    2-possibilité d'utiliser des paramètres dans la fonction(i,oldHtml).

    je te remercie.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/06/2010, 16h57
  2. Réponses: 2
    Dernier message: 25/05/2005, 21h34
  3. Réponses: 5
    Dernier message: 03/05/2005, 18h22
  4. Réponses: 11
    Dernier message: 31/01/2005, 17h48
  5. Quelle est la différence entre le float et le real ?
    Par Manson dans le forum Débuter
    Réponses: 3
    Dernier message: 10/08/2004, 17h26

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