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 :

Compter les <li> de <ul> différentes


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut Compter les <li> de <ul> différentes
    Bonjour,

    j'ai une page qui en simplifiée ressemble à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <ul class="liste-de-titres comedie">
    <li> toto
    <li>titi
    </ul>
    ...ici plein d autres trucs...
    <ul class="liste-de-titres thriller">
    <li> foo
    <li>bar
    </ul>
    sauf que dans le code les deux ul ne sont pas directement siblings

    je voudrais faire une animation sur un slider en utilisant les index de mes listes, sauf qu'en fait dans mon slider j'ai tous les elements. Donc "bar" devrait m'amener au 4eme element du slider et pas au 2eme. Donc je ne peux pas directement utiliser l'index dans la liste, mais il me faudrait l'index + le nombre de tous les li qui précèdent qui sont dans un ul.liste-de-titres.

    Je ne sais pas du tout comment écrire la fonction qui compte - ni compter tous les li dans ul.liste-de-titres, et encore moins ceux qui précèdent un élément donné...

    Pardon si la question semble trop simple, je débute en js / jquery, et là je cale complètement. Pas besoin de la solution toute crue, mais juste des pointeurs ou des mots clefs à donner à google pour qu'il m'aide ça serait vraiment super !

    Merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut
    Salut, il faut juste ciblé en jquery par :
    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
    20
    21
    22
    23
     
    // $(".liste-de-titres li") est la collection html que tu recherche 
    $(function(){
    	alert("load");
    	alert($(".liste-de-titres li").length); // nombre de lignes
    	alert($(".liste-de-titres li").text()); // les textes
            // Pour parcourir la collection
            alert("Parcours de la collection");
            $(".liste-de-titres li").each(function(index){
               alert("index des li = "+index);
               alert($(this).text()); //le text du li     
            });
    });
     
    <ul class="liste-de-titres comedie">
    <li> toto
    <li>titi
    </ul>
    ...ici plein d autres trucs...
    <ul class="liste-de-titres thriller">
    <li> foo
    <li>bar
    </ul>
    Une note, et un petit résolu fait toujours plaisir .
    Bonne chance pour la suite de ton script n'hésite pas en cas de problème.

  3. #3
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut
    Super !

    le .length qui donne le nombre total, sans tenir compte du ul dans lequel ils sont ! genial ! Enfin logique maintenant que je le vois mais je n'y avais pas du tout pensé.
    j'ai trouvé toute seule depuis ul.size qui va m'aider aussi je crois.

    Je ne marque pas encore résolu parce qu'il me faut encore trouver comment savoir sur quel element parmi le total je suis (et pas seulement parmi ma liste courante). Mais je crois qu'avec ca c'est un bon début pour continuer à chercher toute seule !
    je vous tiens au courant
    Enfin plus tard ce soir, là je dois partir au boulot
    +++
    Et merci !!

    Edit : j'ai cliqué sur envoyé trop vite et j'ai vu le "choisissez une note" trop tard... maintenant quand j'édite je ne le vois plus. Tu me réécris juste un petit coucou que je puisse ajouter la note ?
    ++ et encore merci !

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Il suffit juste de cliquer sur
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut
    ah ok merci
    c'est fait

  6. #6
    Membre confirmé Avatar de lisa.a
    Inscrit en
    Mai 2004
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 95
    Par défaut
    J'avance un peu mais pas beaucoup...
    J'arrive à récupérer (je crois) la partie de la page qui m'intéresse avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var prevcode = $(this).parent().parent().prevAll();
    maintenant je voudrais faire mon $(".liste-de-titres li").length non plus sur tout le dom, mais seulement à l'intérieur de prevcode, c'est à dire compter les occurences de .liste-de-titres li dans prevcode. C'est possible ?

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

Discussions similaires

  1. Compter les syllabes d'un mot français
    Par david_chardonnet dans le forum Langage
    Réponses: 4
    Dernier message: 09/05/2014, 10h57
  2. Réponses: 19
    Dernier message: 03/08/2004, 10h26
  3. [langage] compter les retour à la ligne
    Par Kinethe dans le forum Langage
    Réponses: 4
    Dernier message: 16/07/2004, 16h36
  4. [C#] Compter les lignes d'un DataSet
    Par alexischmit dans le forum ASP.NET
    Réponses: 13
    Dernier message: 26/04/2004, 15h17
  5. Compter les valeurs d'un tableau
    Par leeloo076 dans le forum ASP
    Réponses: 6
    Dernier message: 30/03/2004, 13h29

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