Sto cercando un metodo per filtrare l'array di ritorno della selezione jQuery.
Diciamo che ho l'array di elementi che viene restituito da jQuery:
window.elementSet = $("element");
Ora, vorrei filtrare questo array, per visualizzare solo gli elementi con classe "car", senza riprogettazione del selettore, quindi
window.elementSetOfCars = $("element.car");
Dato che il valore restituito è un array di elementi, potremmo semplicemente usare .filter, o .grep, o un semplice ciclo for / while, dove controlliamo le classi di ogni elemento con .hasClass (), o attr ("class") o qualsiasi altra cosa.
Qual è il metodo più veloce per questo?
risposte:
2 per risposta № 1Potresti fare quanto segue:
var elementSetOf = window.elementSet.filter(function(val,i,arr){
return (val.className.indexOf("car") >= 0);
});
Tuttavia, tenere presente che il risultato di $ (selettore) non è in realtà un array, ma piuttosto un oggetto "simile a array", il che significa che molti metodi e proprietà dell'array funzioneranno, ma non tutti. Maggiori informazioni qui