2010-11-23 4 views
2

Wenn ich mit dem DOM arbeite, tendiere ich dazu, ein Objekt zu cachen, zu erkennen, ob es vorhanden ist, und dann etwas Arbeit zu verrichten. Wie so:Können Sie einen nth-child-Selektor für einen zuvor zwischengespeicherten jQuery-Selektor verwenden?

var $fooModules = $j('.foo-modules'); 

if ($fooModules .length > 0) { 
    //do something. 
} 

Aber, wie kann ich ein jQuery wählen tackle mit wie n-te-Kind mit meinem gecached Wähler?

Ich weiß, ich kann das nicht tun:

 $j($fooModules:nth-child(3n).addClass('myClass'); 

Was tun Sie, um dieses Problem gemeinsam zu bekommen?

Dank

-R

Antwort

4

Sie .filter() verwenden können, ein einen Selektor oder Funktion weiter nach unten verwenden, wie dies eingestellt zu filtern:

$fooModules.filter(":nth-child(3n)").addClass('myClass'); 
+0

Das ist genial. Ich benutze ständig "find", habe aber merkwürdigerweise die sehr praktische "Filter" -Methode vergessen. Mit diesem Beispiel ist ihre Unterscheidung für mich sehr klar. Danke Nick! – rsturim

Verwandte Themen