Partage
  • Partager sur Facebook
  • Partager sur Twitter

compteur de <li>

suivant le <ul> parent

Sujet résolu
    24 octobre 2011 à 16:10:23

    Bonjour à tous !

    Il y a déja un moment que j'essaie de réaliser cette fonction sans succès ...

    J'aimerai avoir une fonction qui me retourne la valeur du nombre d'élément liste "<li>" par rapport a son parent "<ul>".

    Donc entrer l'id de "l'<ul" et la fonction nous retourne le nombre de <li>.

    Quelqu'un aurait pas déja réalisé cette fonction? puis-je là trouver quelque part?


    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
      24 octobre 2011 à 16:12:25

      en JS pure? en jQuery?
      cordialement.
      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2011 à 16:14:08

        En JS cela m'arangerait plus car je connais un peu
        • Partager sur Facebook
        • Partager sur Twitter
          24 octobre 2011 à 16:15:52

          salut, essaye ça :
          function compteLi(idUl){
          	var elem = document.getElementById(idUl);
          	alert("nombre de li = " + elem.children.length);
          }
          


          Sinon si t'as d'autre élement a l'intèrieur fait plutôt :
          function compteLi2(idUl){
          	var elem = document.getElementById(idUl);
          	var count =0;
          	for(var i=0; i<elem.children.length; i++){
          		if(elem[i].nodeName.toLowerCase() == "li"){
          			count++;
          		}
          	}
          	alert("nombre de li = " + count);
          }
          
          • Partager sur Facebook
          • Partager sur Twitter
            24 octobre 2011 à 16:24:16

            Super c'était pas compliqué merci beaucoup !
            • Partager sur Facebook
            • Partager sur Twitter
              24 octobre 2011 à 16:33:24

              si je puis me pemettre, ce code ne réponds pas exactement aux attentes, il compte le nombre de fils de l'éléments et non le nombre de <li> fils de l'élement.
              • Partager sur Facebook
              • Partager sur Twitter
                24 octobre 2011 à 16:37:27

                la fonction compteLi2 ne marche pas (il me semble)

                EDIT: la première n'est "pas très fiable" :p
                • Partager sur Facebook
                • Partager sur Twitter
                  24 octobre 2011 à 16:42:41

                  Ah oui par don j me suis trompé, j'ai pas testé correctement, voici la fonction:
                  function compteLi(idUl){
                  	var elem = document.getElementById(idUl);
                  	var count =0;
                  	for(var i=0; i<elem.children.length; i++){
                  		if(elem.children[i].nodeName == "LI"){
                  			count++;
                  		}
                  	}
                  	alert("nombre de li = " + count);
                  }
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 octobre 2011 à 16:45:14

                    Le problème c'est que j'en ai 5 et il en compte 7 ... haha

                    EDIT: ca dépend de mes <li> c'est assez aléatoire ...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      24 octobre 2011 à 16:53:21

                      Essaye de déboguer avec firebug, a mon avis c'est pas grand chose. Sinon montre ton code.
                      J'ai eut la même erreur sur mon premier test mais j'avais écrit <li> aau lieu de </li> pour fermer.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 octobre 2011 à 17:02:51

                        Juste j'ai mal fermé une balise merci !
                        • Partager sur Facebook
                        • Partager sur Twitter
                          24 octobre 2011 à 17:04:00

                          Si c'est OK pour toi hésite pas a mettre le sujet en résolu.
                          • Partager sur Facebook
                          • Partager sur Twitter

                          compteur de <li>

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown