6
votes

jQuery - aller à la ligne suivante rangée basée sur le nom de la classe de l'emplacement actuel de la ligne?

Je peux obtenir la ligne actuelle en utilisant ce code. Le "Ceci" est un lien dans une cellule de table dans la rangée.

$("p").next(".selected").css("background", "yellow");  


2 commentaires

Le fichier .NEXT () filtre les frères et sœurs. Si le fromage correspond au sélecteur, il est conservé; Sinon, il est filtré. Dans votre cas, cela signifie que si le prochain frère suivant du TR est de la classe de concept, il est retourné, sinon vous obtiendrez une null.


Je vois ce que tu veux dire, Duh j'essaie toujours d'obtenir la prochaine ligne!


4 Réponses :


0
votes

Vous voulez obtenir le prochain qui est d'une certaine classe?

vous pouvez essayer de faire .Next () puis vérifiez la classe peut-être?

Je suis légèrement confus sur votre question, je vais admettre, car vous semblez avoir fourni votre propre réponse ...


0 commentaires

14
votes

donner Nextall un coup. Exemple de la documentation:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>nextAll demo</title>
  <style>
  div {
    width: 80px;
    height: 80px;
    background: #abc;
    border: 2px solid black;
    margin: 10px;
    float: left;
  }
  div.after {
    border-color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
 
<div>first</div>
<div>sibling<div>child</div></div>
<div>sibling</div>
<div>sibling</div>
<script>
$( "div" ).first().nextAll().addClass( "after" );
</script>
 
</body>
</html>


3 commentaires

Crap, j'allais trouver une solution fantaisie à l'aide de la nouvelle fonction index , mais $ (ceci) .closest ('TR'). Nextall ("tr.concept '). EQ (0) semble être un gagnant . :)


Donc cela a du sens. Est-ce que le prochaintal va au bas de la page à partir de la position actuelle, puis recommencez-le en haut de la DOM et revenez à la position de départ, et c'est combien d'éléments sont retournés?


@Breadruck - Non. Dans votre exemple, Nextall renvoie toutes les lignes après la ligne "actuelle".



1
votes

J'ai essayé de recréer votre HTML + JavaScript à JSBIN et je peux reproduire le problème:

frères et sœurs () retourne toutes les 4 lignes, et je peux voir que deux des lignes ont class = "concept" , mais suivant ('. Concept ') ne renvoie rien.

n'est pas suivant () censé être un sous-ensemble de frères et sœurs ()?


Merci pour le commentaire, maintenant je l'obtiens! J'ai besoin de silglage, pas ensuite.


1 commentaires

Ensuite, ne renvoie que l'élément suivant. Si le sélecteur que vous envoyez à votre appel à votre appel ne correspond à l'élément suivant, votre jeu de résultats sera vide.



0
votes

Supposons que vous ayez html quelque chose comme ci-dessous:

html: xxx

JS: xxx


0 commentaires