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 :

Récupérer tous les éléments enfants après le 1er élément enfant


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut Récupérer tous les éléments enfants après le 1er élément enfant
    Bonjour

    J'ai une page html où j'ai placé 2 divs qui contiennent chacune des 3 éléments enfants: 1 img et 2 spans.

    Je voudrais, après avoir cliqué sur l'image, récupérer le contenu des 2 spans.

    Malheureusement j'arrive seulement à récupérer le 1er span,ce qui m'affiche juste "1000" comme résultat.

    Voici mon code:

    index.html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <div class="row">
      <img src="../images/galerie/batik/batik1.jpg" alt="image non disponible">
      <span class="px">1000</span>
      <span class="descrip">Description1 du produit</span>
    </div>
     
    <div class="row">
       <img id="batik3" src="../images/galerie/batik/batik2.jpg" alt="image non disponible">
       <span class="px">2000</span>
       <span class="descrip">Description2 du produit</span>
    </div>

    jquery.js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('.row img').click(function() {
        var a = $( "img ~ span" ).html();
        console.log(a);
    } );
    J'aimerai donc récupérer tous les éléments enfants de "row" après la balise "img".

    Merci

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    d'abord en passant par $(this) pour relativiser l'objet du click

    ensuite en prenant nextAll('span') pour recupérer la collection des spans suivant

    https://jsfiddle.net/9p3qk2zy/7/

    Sinon si ton code est figé tu peux aussi passer par siblings() de ton image vu qu'il n'y a que les deux spans avec l'image dans le parent


    Ou encore en passant par le parent de l'image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      var a = $( this ).parent().text()
    car à priori tu n'as pas d'autre texte dans l'exemple que celui des spans.

    Cela va dépendre de si ton exemple est bien représentatif du DOM final...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    578
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 578
    Par défaut
    Ok ça marche. Et effectivement je n'ai qu'une image et 2 spans.

    Maintenant je voudrais récupérer le 1er et le 2e span séparément, j'ai donc essayé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var a = $( this ).parent().text();
        var a1= a[0];
        var a2= a[1];
        console.log("le prix est: "+a1+"la description est: "+a2);
    a1 et a2 ne s'affichent pas. Sinon je pensais que la variable "a" sortirait sous forme de tableau.

    Merci

  4. #4
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  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

  6. #6
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Certes mais en l'occurence text() ne donne pas une collection.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/11/2014, 19h10
  2. [2008] HierarchyId - récupérer tous les enfants de plusieurs parents
    Par ValM-ENI dans le forum Développement
    Réponses: 5
    Dernier message: 21/11/2013, 14h45
  3. Récupérer tous les éléments selectionnés d'un select multiple
    Par xillibit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/01/2010, 18h52
  4. Récupérer tous les éléments d'un JTree
    Par barbiche dans le forum Composants
    Réponses: 3
    Dernier message: 14/12/2007, 03h24
  5. [JDOM] Récupérer tous les attributs d'un élément
    Par ammah dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 21/06/2006, 17h05

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