2012-06-23 29 views
6

Có cách nào để chọn tất cả id với jQuery có tiền tố "my" và hậu tố "0-9" hay không. Một cái gì đó như thế này $ ("# $ 1-4" của tôi) hoặc là nó chỉ có thể với một vòng lặp?jQuery Chọn # id có từ là tiền tố và truy cập dưới dạng hậu tố

<div id="my1"/> 
    <div id="my2"/> 
    <div id="my3"/> 
    <div id="my4"/> 
    <div id="my5"/> 
+0

Bạn chỉ cần chọn bộ chọn ** id **? Tại sao không sử dụng lớp, tên hoặc bộ chọn dữ liệu. Đối với người cuối cùng, hãy xem http://stackoverflow.com/questions/2891452/jquery-data-selector Cũng có các bộ chọn thuộc tính như thế này http://api.jquery.com/attribute-contains-prefix-selector/ – m03geek

Trả lời

0

Phần tiền tố là dễ dàng đạt được với một selector attribute starts-with:

$("div[id^=my]"); 

Nhưng không có chọn này sẽ cho phép bạn chỉ định một loạt các nhân vật, do đó, một vòng lặp sẽ phải tham gia. Tôi sẽ đề nghị filter:

$("div").filter(function() { 
    return /^my\d$/.test(this.id); 
}); 
0

Giả sử bạn không có triệu yếu tố bắt đầu bằng "của tôi", bạn có thể làm:

$('[id^=my]').filter(function() { return this.id.matches(/\d/) && this.id.length == 3 }) 

này lấy tất cả các yếu tố đó có một id bắt đầu bằng "tôi", chứa một số và chỉ dài 3 ký tự (vì vậy "my54" sẽ không khớp nhưng "my6" sẽ)

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