Thêm và xóa nhiều lớp trong jQuery


135

Tôi đang cố gắng thêm và xóa nhiều lớp trên một trường văn bản bằng cách nhấp vào các nút radio khác nhau. Tôi không thể xóa các lớp không mong muốn trong khi chuyển đổi giữa các nút radio khác nhau.

Mã của tôi cho điều này là:

// For 1st radio button
if (actionUrl == "search-client-by-id") {
    $("#req").removeClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]")
             .addClass("validate[required,custom[onlyNumberSp]]");
}
// For 2nd radio button
else if (actionUrl == "search-client-by-name") {    
    $("#req").removeClass("validate[required,custom[onlyNumberSp]]")
             .addClass("validate[required,custom[onlyLetterNumber],maxSize[20],custom[onlyLetterSp]]");
}

Câu trả lời:


273

Bạn có thể tách nhiều lớp với khoảng trắng:

$("p").addClass("myClass yourClass");

http://api.jquery.com/addClass/


1
Tôi đã tìm thấy một giải pháp cho việc này, mỗi khi tôi chỉ sử dụng .removeClass () và không cần phải viết bất kỳ tên lớp nào trong removeClass để xóa tất cả các lớp đã thêm và thêm bất kỳ lớp nào theo lựa chọn. Vâng, nó hoạt động ...!
Raman

3
Việc sử dụng .removeClass () [không có tham số] sẽ loại bỏ tất cả các lớp của đối tượng jQuery.
Ahmet

8

Thêm nhiều lớp:

$("p").addClass("class1 class2 class3");

hoặc theo tầng:

$("p").addClass("class1").addClass("class2").addClass("class3");

Rất giống nhau để loại bỏ nhiều lớp hơn:

$("p").removeClass("class1 class2 class3");

hoặc theo tầng:

$("p").removeClass("class1").removeClass("class2").removeClass("class3");

Vì vậy, những gì bạn muốn loại bỏ một lớp từ nhiều $("p")?
đánh vào

trong ví dụ của tôi, tôi đề cập đến tất cả các đoạn trên trang nhưng nó chỉ là một ví dụ. Bạn có thể xác định một mục cụ thể bằng ID hoặc một lớp khác.
Andrea_dev

0

cách dễ nhất để nối tên lớp bằng cách sử dụng javascript. Nó có thể hữu ích khi .siblings()đang làm sai.

document.getElementById('myId').className += ' active';

5
Câu trả lời này không liên quan đến câu hỏi, được hỏi rõ ràng cho jQuery.
gian mạng

1
Và dù sao bạn cũng nên sử dụng classList
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.