0
votes

Compter les éléments avant une classe spécifique dans JQuery ou JavaScript

Je dois compter toutes les classes avec le nom " chargeur strong>" avant em> strong> la classe " p16 strong>" ( par example).

Dans ce cas, la bonne réponse serait la suivante: 4 forte> p> xxx pré>

J'ai essayé des solutions serveur: p>

var $slides = $('.loader');
var $current = $slides.find('.p5');

var index = $slides.index($current) + 1;
var total = $slides.length;

var n = $('.loader').index('.p5');
alert(n);
alert(index);


2 commentaires

Dupliqué possible de Nombre d'éléments avant un élément


J'ai trouvé cet autre sujet aussi mais ce sujet était avec une classe mère et la mienne était avec le même élément.


3 Réponses :


0
votes

Vous pouvez utiliser Prevall ()

P>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="loader p12"></div>
<div class="loader p13"></div>
<div class="loader p14"></div>
<div class="loader p15"></div>
<div class="loader p16"></div>
<div class="loader p17"></div>
<div class="loader p18"></div>


3 commentaires

Merci beaucoup. Fonctionne très bien. J'accepterai cette réponse, car vous étiez le premier.


NB: Cela suppose que tous les éléments loader sont des frères et sœurs.


En supposant qu'ils ne sont pas des frères et sœurs, vous devriez utiliser la méthode de l'index que Charlietfl a fourni, mais si vous ne vouliez que des frères et sœurs précédents, j'utiliserais celui-ci comme la méthode d'indexage peut récupérer d'autres chargeurs qui ne sont pas des frères et sœurs, à moins que vous n'ayant pas eu un Sélecteur plus spécifique



0
votes

Vous pouvez parcourir tous les éléments du document contenant la classe chargeur code>, puis arrêtez-vous lorsque vous atteignez P16 code>.

var total = 0
$('.loader').each(function(){
  if($(this).hasClass("p16")){
    return false;
  }
  total++;
});


1 commentaires

Cela comptera tous, pas seulement ceux avant le courant.



0
votes

Vous utilisez index () code> de manière incorrecte.

passez dans un élément ou un objet jQuery pour indexer cet élément spécifique dans la collection p>

p>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="loader p12"></div>
<div class="loader p13"></div>
<div class="loader p14"></div>
<div class="loader p15"></div>
<div class="loader p16"></div>
<div class="loader p17"></div>
<div class="loader p18"></div>


0 commentaires