2010-02-08 33 views
62

Vì lý do gì tôi có các lớp này được gọi là .main_sub1, .main_sub2 v.v. Không sao vì sao tôi không thể có .main .sub.Yếu tố hoặc lớp LIKE chọn cho jQuery?

Có cách nào với jQuery, sắp xếp theo cách có thể thực hiện với các thuộc tính, để nhận các lớp học có chứa main không?

+1

Bạn đã tự mình nói; class là một thuộc tính. –

Trả lời

154

Sử dụng $("[class^=main]") sẽ chọn tất cả các yếu tố có classname bắt đầu với 'chính'. Hãy nhìn vào jQuery docs about selectors, có rất nhiều biến thể khác mà bạn có thể sử dụng, ví dụ:

  • [class*=main] sẽ lựa chọn các yếu tố có classname chứa 'chính'
  • [class~=main] sẽ lựa chọn các yếu tố có classname có từ 'chính' (phân định với không gian)
  • [class$=main] sẽ lựa chọn các yếu tố có classname kết thúc bằng 'chính'
+0

Ah, tất nhiên lớp học là một thuộc tính trong chính nó. Cảm ơn! –

+0

sẽ làm việc này khi lớp đã được thêm vào phần tử bằng phương thức 'addClass' chứ không phải là thuộc tính? – ZX12R

+0

@ ZX12R có, kể từ [phiên bản jQuery 1.12/2.2] (https://api.jquery.com/addclass) – dlatikay

3

Trong trường hợp này, tôi sẽ xử lý thuộc tính lớp giống như cách bạn làm một thuộc tính chuẩn.

$("[class*=main]") 
13

Có, bạn có thể sử dụng công cụ chọn thuộc tính để khớp với các giá trị nhất định cho thuộc tính class.

$('[class^=main]') // class begins with "main" 
$('[class*=main]') // class contains "main" anywhere within it 
Các vấn đề liên quan