Comment puis-je filtrer davantage un tableau d'éléments jQuery sans exécuter à nouveau la recherche JQuery?

StackOverflow https://stackoverflow.com/questions/1616293

  •  06-07-2019
  •  | 
  •  

Question

Étant donné le code suivant, comment utiliser la variable divs créée par le premier sélecteur jQuery, sans l'exécuter à nouveau sur la ligne où j'ajoute la classe?

Alors, étant donné ceci:

var divs = $("div.searchhit");

// plus de code ici en utilisant divs.length     divs.removeClass ("sélectionné");     $ ("div.searchhit: eq (0)"). addClass ("sélectionné");

Comment puis-je obtenir la dernière ligne qui ressemble à ceci:

divs(":eq(0)").addClass("selected");
Était-ce utile?

La solution

Utilisez simplement la méthode eq () :

divs.eq(0).addClass('selected');

Autres conseils

Il semble qu'une réponse possible soit:

divs.filter(":eq(0)").addClass("selected");

Veuillez lire la documentation de jQuery. C'est bien couvert.

C'était un peu laconique de moi. Voici une petite explication:

jQuery (query) est le filtre principal qui effectue une recherche à partir de la racine du DOM. Les requêtes suivantes exécutées sur l'objet résultant démarrent sur cet ensemble. Si aucune opération de développement n'est effectuée (par exemple, en regardant les enfants dans un nœud précédemment mis en correspondance), la requête résultante peut contenir au plus autant d'éléments que la requête précédente.

Si vous souhaitez par exemple sélectionner des éléments enfants (au lieu de les filtrer), utilisez:

$('tr').children('td')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top