2011-01-19 35 views
5

Tôi muốn truy xuất tất cả các phần tử bắt đầu bằng một ID cụ thể. Sau khi tìm kiếm ngắn, giải pháp dường như là:Ký tự đại diện trong bộ chọn jQuery

$('*[id^="foo_"]') 

để chọn tất cả các thành phần có ID bắt đầu bằng foo_. Mặc dù cú pháp chọn này rất hợp lý, tôi chỉ tự hỏi liệu có thể thực hiện điều này theo cách 'viết tắt' hơn hay không, như:

$('#foo_*'); 

Điều này không hiệu quả. Có hỗ trợ cho wildcarting như thế này?

Trả lời

4

Theo như tôi biết, không có cách nào để làm điều này.

Tuy nhiên, here là bộ lọc cho phép sử dụng cụm từ thông dụng cho bộ chọn. Nó sẽ phù hợp với bạn tốt.

+0

+1 cho plugin regex! – Marnix

+0

Cảm ơn bạn đã liên kết, trông rất hữu ích! – pimvdb

2

Không, không phải vậy. *universal selector có nghĩa là "Bất kỳ phần tử nào", không phải là thẻ hoang dã chung. [id^="foo_"]*[id^="foo_"] giống hệt nhau (ngoại trừ specificity cân nhắc).

3

Cú pháp chọn gần giống với CSS, trong đó * có nghĩa là tất cả các bộ chọn, chứ không phải là ký tự đại diện. Không cần phải chỉ định * trong trường hợp này: [id^="foo_"] sẽ hoạt động theo cùng một cách nhưng với độ đặc hiệu ít hơn một chút.

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