Hľadám metódu na filtrovanie návratového poľa výberu jQuery.
Povedzme, že mám pole prvkov, ktoré vráti jQuery:
window.elementSet = $("element");
Teraz by som rád vyfiltroval toto pole, aby som zobrazil iba prvky s triedou „auto“, bez prepracovanie selektora, tak
window.elementSetOfCars = $("element.car");
Keďže vrátenou hodnotou je pole prvkov, mohli by sme použiť iba .filter alebo .grep alebo jednoduchú slučku for / while, kde skontrolujeme triedy každého prvku pomocou .hasClass () alebo attr ("class") , alebo čokoľvek.
Aká je najrýchlejšia metóda?
odpovede:
2 pre odpoveď č. 1Môžete urobiť nasledovné:
var elementSetOf = window.elementSet.filter(function(val,i,arr){
return (val.className.indexOf("car") >= 0);
});
Pamätajte však, že výsledkom $ (selektor) nie je vlastne pole, ale skôr objekt typu „pole“, čo znamená, že bude fungovať veľa metód a vlastností poľa, ale nie všetky. Viac informácií tu