2011-12-16 21 views
15

là có thể tìm kiếm điều khiển trên biểu mẫu web, nơi bạn chỉ muốn đối sánh "bất kỳ thứ gì" cho một phần của nó, ví dụ:jQuery Tìm điều khiển chỉ với một ID tham chiếu một phần

Tôi có các nút khác nhau một trang - mà mất định dạng id: ID # (id1) # (id2) # (ngày) - ví dụ:

ID-8258-3103-2011-12-18 
ID-8258-3104-2011-12-18 
ID-8258-3105-2011-12-18 

tôi muốn vượt qua (id1) và (ngày) trong một chuỗi truy vấn, và sau đó có tìm kiếm jQuery cho điều khiển đầu tiên trên trang, khớp với (id1) và (ngày) và bất kỳ (id2) nào - ví dụ: tôi vượt qua 8252 và 2011-12-18 - vậy làm cách nào để tìm điều khiển đầu tiên bove, từ jQuery?

$("#ID-8252-????????-2011-12-18") 

Trả lời

37

Thay vì sử dụng bộ chọn #id, bạn có thể kết hợp nhiều bộ chọn thuộc tính, mà các bộ lọc thuộc tính id (một cho sự khởi đầu của id, một cho cuối):

$('[id^="ID-8258"][id$="2011-12-18"]').addClass('found'); 

Để chọn chỉ là người đầu tiên trận đấu, sử dụng :first selector (không giống như bộ chọn :first-child!)

$('[id^="ID-8258"][id$="2011-12-18"]:first').addClass('found'); 

Xem http://api.jquery.com/category/selectors/ để tham khảo.

Ví dụ:

http://jsfiddle.net/wbLZ8/3/

Dường như những selectors có thể được sử dụng ngay cả với IE7, nếu bạn muốn sử dụng chúng trong CSS đơn giản.

+0

Cảm ơn bạn rất nhiều! – Mark

+0

Có thể tìm được điều khiển * đầu tiên * và sau đó dừng lại sau đó? Cảm ơn bạn lần nữa, Mark – Mark

+0

Xin chào, tôi đã cập nhật câu trả lời và ví dụ, hãy tận hưởng :) – biziclop

1

Bạn sẽ muốn sử dụng bộ lọc trong bộ chọn, như được thảo luận trong jQuery selector regular expressions. (Kiểm tra phản ứng của nickf cho một ví dụ).

Các vấn đề liên quan