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 :

Ajouter un élément BR avec append


Sujet :

jQuery

  1. #1
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut Ajouter un élément BR avec append
    bonjour,

    je souhaite ajouter un retour chariot (nouvelle ligne) dans le 3eme div d'une class déterminée , et ajout d'un texte après.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( ".maclasse" )[2].append("<br>"+"texte complémentaire");
    étrangement, à l'affichage, ça écrit <br> au lieu d'exécuter le retour à la ligne !
    j'ai aussi essayé d'ajouté "\n", mais le retour ne se fait pas (et pourtant il est dans le code source du navigateur).

    y-a-t-il un souci de ma part , ou c'est un bug qui vient d'ailleurs ?

    merci de votre lecture.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Bonjour,
    y-a-t-il un souci de ma part , ...
    oui

    Tu confonds
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( ".maclasse")[2]; // retourne un élément du DOM
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( ".maclasse").eq(2); // retourne un objet jQuery
    dans ton cas il te faut utiliser la deuxième notation car les interprétations/fonctionnements des deux méthodes append(), existant dans les deux cas, ne sont pas les mêmes entre un élément du DOM et un objet jQuery

    Quelle différence y a-t-il entre $(...)[0] et $(...).eq(0) ?

  3. #3
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    bonjour,
    ok, je vais essayer cette façon lundi matin.

    mais la concatennation fonctionnait, c'est juste le "<BR>" qui n'était pas interprété et pire ,il était affiché à l'écran à côté de la chaine " texte complémentaire" !

  4. #4
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    finalement j'ai testé...
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( ".maclasse" ).eq(2).append("<br>"+"texte complémentaire");
    retourne :
    undefined comme texte !
    ya même plus le "texte complémentaire"

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 207
    Par défaut
    Pas tout compris !

    Avec la méthode append() du DOM si tu passes en paramètre une String alors celle-ci est insérée comme du texte brut, voilà pourquoi ton <br> apparaît à l'écran.

    La méthode append() de jQuery elle, va chercher à voir ce que tu as essayé de faire et comme il y a un <br> celui-ci sera ajouté comme élément au DOM.

    Même nom mais pas même effet !

    Nota : Il faut bien sûr que tu ais des éléments ayant pour classe maclasse dans ton code HTML pour que cela fonctionne.

  6. #6
    Membre éprouvé
    Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2009
    Messages
    1 464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 464
    Par défaut
    donc au final, ceci fonctionne très bien (merci NoSmoking)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $( ".maclasse" ).eq(2).append("<br>");
    $( ".maclasse" )[2].append("texte complémentaire");
    alors que ceci ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( ".maclasse" ).eq(2).append("<br>"+"texte complémentaire");
    résolu!

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

Discussions similaires

  1. Ajouter un élément avec append et une class
    Par mac79 dans le forum jQuery
    Réponses: 4
    Dernier message: 28/01/2020, 14h49
  2. séléctionner l'id d'une balise ajoutée avec append
    Par geeksDeve dans le forum jQuery
    Réponses: 11
    Dernier message: 05/04/2012, 17h58
  3. [AC-2003] comment ajouter un élément dans une liste avec InputBox
    Par spacesheep dans le forum VBA Access
    Réponses: 6
    Dernier message: 02/10/2009, 13h33
  4. Ajouter un élément avec 2 listes VB6
    Par alighieri dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/04/2008, 16h05
  5. Réponses: 12
    Dernier message: 12/03/2007, 16h58

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