2009-03-31 9 views
26

Ich bin ein Typ, der die Selections von mootools verkettet, und ich kann nirgendwo anders finden, wie ich das Gleiche in jQuery machen kann. Angenommen, ich habe ein Element in der selectObj Variable. Was ich brauche, ist die letzte Option in dieser Auswahl zu bekommen. In Mootools hätte ich so etwas wie getan:Verketten von Selektoren in jQuery

var option = $(selectObj).getElement('nth-child(last)') 

Kann ich etwas ähnliches tun, oder was ist die Art und Weise, dass die letzten option in jQuery zu bekommen?

PS. Ich weiß über die parent > child selector, aber ich kann es nicht wirklich verwenden, weil ich nicht weiß, welcher Selektor verwendet wurde, um die select zu bekommen. Ich habe nur das resultierende Element.

Antwort

24
var option = $(selectObj).children(":last"); 

das letzte Kind irgendeines Elements zurückkehren

+3

Tatsächlich erlauben die meisten Traversal-Operationen in jQuery (Geschwister, Suche, Eltern, Kinder usw.) die Angabe eines optionalen Filterausdrucks. – stusmith

+0

Das ist, was ich gesucht habe. Ich habe nur den "Selectors" Teil des Dokuments durchsucht und nicht den durchsuchenden. Ich weiß nicht warum. Vielen Dank. – andi

0

jQuery die :last Selector

$("tr:last").stuff() 

Zeug zur letzten Zeile in einer Tabelle Will zu tun hat.

51
$(selectObj).find(':last') 

Sie können find verwenden, um eine weitere Abfrage innerhalb der aktuellen Abfrage durchzuführen.

Im Allgemeinen können Sie die Seiten Selectors und in der jQuery-Dokumentation aufrufen, wenn Sie herausfinden möchten, wie Sie etwas auswählen.

+0

Ich habe nur den "Selectors" Teil des Dokuments gesucht und nicht das "Traversing". Ich denke, Cobabs Lösung passt besser. – andi

+1

Dies ist die allgemeinere Lösung für das Problem, und das, nach dem ich suchte, als ich diese Frage suchte und fand. Vielen Dank! – Pete

+0

Kurz gesagt, '.find' ist einer der langsamsten Selektoren: http://jsperf.com/jquery-context-find-class. – dooburt

2

Sie können auch .last() für diesen Zweck verwenden.