2009-03-31 26 views
26

Tôi là một người đã quen với việc chọn lọc các bộ chọn chuỗi, và tôi dường như không thể tìm thấy bất cứ đâu để làm tương tự trong jQuery. Giả sử tôi có một phần tử chọn chọn trong biến số selectObj. Những gì tôi cần là để có được tùy chọn cuối cùng trong lựa chọn đó. Trong mootools tôi đã có thể làm một cái gì đó như:Chaining selectors trong jQuery

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

Tôi có thể làm điều gì đó tương tự, hoặc các cách để nhận được rằng cuối cùng option trong jQuery là gì?

PS. Tôi biết về parent > child selector, nhưng tôi không thể thực sự sử dụng nó bởi vì tôi không biết những gì bộ chọn đã được sử dụng để có được select. Tôi chỉ có yếu tố kết quả.

Trả lời

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

sẽ trả lại con cuối cùng của bất kỳ yếu tố

+3

Trong thực tế, hầu hết các hoạt động traversal trong jQuery (anh chị em ruột, tìm, cha mẹ, con cái, vv) cho phép biểu thức lọc tùy chọn được chỉ định. – stusmith

+0

Đây là những gì tôi đang tìm kiếm. Tôi chỉ tìm kiếm phần "bộ chọn" của tài liệu chứ không tìm kiếm tài liệu. Tôi không biết tại sao. Cảm ơn. – andi

0

jQuery có :last Selector

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

sẽ làm công cụ để hàng cuối cùng trong một bảng.

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

Bạn có thể sử dụng find để thực hiện truy vấn khác trong truy vấn hiện tại.

Nói chung, bạn có thể xem các trang SelectorsTraversal trên tài liệu jQuery khi bạn đang cố gắng tìm ra cách chọn thứ gì đó.

+0

Tôi chỉ tìm kiếm phần "bộ chọn" của tài liệu chứ không tìm kiếm tài liệu "di chuyển". Tôi nghĩ rằng giải pháp của cobbal phù hợp hơn mặc dù. – andi

+1

Đây là giải pháp tổng quát hơn cho vấn đề này và giải pháp tôi đang tìm kiếm khi tôi tìm kiếm và tìm thấy câu hỏi này. Cảm ơn! – Pete

+0

Chỉ cần một cách nhanh chóng sang một bên, '.find' là một trong những bộ chọn chậm nhất: http://jsperf.com/jquery-context-find-class. – dooburt

2

Bạn cũng có thể sử dụng .last() cho mục đích này.