Come filtrare ulteriormente un array di elementi jquery mentre non eseguo di nuovo la ricerca jquery?

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

  •  06-07-2019
  •  | 
  •  

Domanda

Dato il seguente codice, come posso usare i div variabili creati dal primo selettore jQuery, senza rieseguirlo sulla riga in cui aggiungo la classe?

Quindi, dato questo:

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

// altro codice qui usando divs.length     divs.removeClass (" selezionato ");     $ (& Quot; div.searchhit: eq (0) ") addClass (" selezionato ");

.

Come faccio ad avere l'ultima riga in questo modo:

divs(":eq(0)").addClass("selected");
È stato utile?

Soluzione

Usa semplicemente il metodo eq () :

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

Altri suggerimenti

Sembra che una possibile risposta sia:

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

Leggere la documentazione di jQuery. Questo è ben coperto.

Era un po 'conciso da parte mia. Ecco una piccola spiegazione:

jQuery (query) è il filtro principale che cerca dalla radice del DOM. Le query successive eseguite sull'oggetto risultante iniziano su quel set. Se non viene eseguita alcuna operazione di espansione (ad esempio, guardando i bambini all'interno di un nodo precedentemente abbinato), la query risultante può contenere al massimo il numero di elementi della query precedente.

Se ad esempio si desidera selezionare elementi figlio (anziché filtrarli per loro), usare:

$('tr').children('td')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top