jQuery: Chọn theo lớp và kiểu đầu vào


119

Tôi muốn chọn một tập hợp các phần tử đều thuộc một loại đầu vào nhất định (giả sử, hộp kiểm) và có một lớp nhất định bằng cách sử dụng jQuery. Tuy nhiên, khi tôi thử những điều sau:

 $("input:checkbox .myClass")

Tôi không nhận được bất kỳ mặt hàng nào được trả lại. Làm cách nào để thực hiện điều này trong jQuery?

Câu trả lời:


209

Bộ chọn của bạn đang tìm kiếm bất kỳ hậu duệ nào của phần tử hộp kiểm có một lớp .myClass.

Hãy thử cái này thay thế:

$("input.myClass:checkbox")

Kiểm tra nó trong hành động .

Tôi cũng đã thử nghiệm điều này:

$("input:checkbox.myClass")

Và nó cũng sẽ hoạt động bình thường. Theo ý kiến ​​khiêm tốn của tôi, cú pháp này thực sự trông khá xấu, vì hầu hết thời gian tôi mong đợi các :bộ chọn kiểu xuất hiện sau cùng. Như tôi đã nói, tuy nhiên, một trong hai sẽ hoạt động.


51

Nếu bạn muốn nhận các đầu vào của loại đó với lớp đó, hãy sử dụng:

$("input.myClass[type=checkbox]")

cú pháp bộ chọn [] cho phép bạn kiểm tra bất kỳ thuộc tính phần tử nào. Kiểm tra thông số kỹ thuật để biết thêm chi tiết


6

Bạn phải sử dụng (đối với hộp kiểm) :checkbox.namethuộc tính để chọn theo lớp.

Ví dụ:

$("input.aclass:checkbox")

Bộ :checkboxchọn:

Đối sánh tất cả các phần tử đầu vào của hộp kiểm loại. Sử dụng công cụ chọn psuedo $(':checkbox')này tương đương với công $('*:checkbox') cụ chọn chậm. Nó được khuyến khích để làm $('input:checkbox').

Bạn nên đọc tài liệu jQuery để biết về bộ chọn.


4

Bạn nên sử dụng tên lớp như thế này

$(document).ready(function(){
    $('input.addCheck').prop('checked',true);
});

Hãy thử Sử dụng bản trình diễn trực tiếp này


1
câu trả lời không liên quan đến câu hỏi.
Avnish alok

1
tuy nhiên câu trả lời hoàn toàn hữu ích đối với những người đang tìm kiếm những thứ tương tự, nhưng không phải là câu hỏi OP chính xác.
camdixon


3

Đề phòng bất kỳ hình nộm nào như tôi đã thử các đề xuất ở đây bằng một nút và không thấy gì hiệu quả, bạn có thể muốn điều này:

$(':button.myclass')
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.