Thay vì gọi riêng $("#item").removeClass()
cho mỗi lớp mà một phần tử có thể có, có một hàm duy nhất có thể được gọi để loại bỏ tất cả các lớp CSS khỏi phần tử đã cho không?
Cả jQuery và JavaScript thô sẽ hoạt động.
Thay vì gọi riêng $("#item").removeClass()
cho mỗi lớp mà một phần tử có thể có, có một hàm duy nhất có thể được gọi để loại bỏ tất cả các lớp CSS khỏi phần tử đã cho không?
Cả jQuery và JavaScript thô sẽ hoạt động.
Câu trả lời:
$("#item").removeClass();
Gọi removeClass
không có tham số sẽ loại bỏ tất cả các lớp của mặt hàng.
Bạn cũng có thể sử dụng (nhưng không nhất thiết phải được khuyến nghị, cách chính xác là cách ở trên):
$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';
Nếu bạn không có jQuery, thì đây sẽ là tùy chọn duy nhất của bạn:
document.getElementById('item').className = '';
If a class name is included as a parameter, then only that class will be removed from the set of matched elements. If no class names are specified in the parameter, all classes will be removed.
api.jquery.com/removeclass
Đợi, mặc định removeClass () không xóa tất cả các lớp nếu không có gì cụ thể được chỉ định? Vì thế
$("#item").removeClass();
sẽ tự làm điều đó ...
Chỉ cần đặt className
thuộc tính của phần tử DOM thực thành ''
(không có gì).
$('#item')[0].className = ''; // the real DOM element is at [0]
Chỉnh sửa: Những người khác đã nói rằng chỉ gọi removeClass
công trình - Tôi đã thử nghiệm này với JQuery Sân chơi của Google: http://savedbythegoog.appspot.com/?id=ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... và nó hoạt động. Vì vậy, bạn cũng có thể làm theo cách này:
$("#item").removeClass();
Heh, đã tìm kiếm một câu trả lời tương tự. Rồi nó đánh tôi.
Xóa các lớp cụ thể
$('.class').removeClass('class');
Nói nếu phần tử có class = "class other-class"
Bạn chỉ có thể thử
$(document).ready(function() {
$('body').find('#item').removeClass();
});
Nếu bạn phải truy cập vào phần tử đó mà không có tên lớp, ví dụ bạn phải thêm một tên lớp mới, bạn có thể làm điều đó:
$(document).ready(function() {
$('body').find('#item').removeClass().addClass('class-name');
});
Tôi sử dụng chức năng đó trong projet của mình để loại bỏ và thêm lớp trong trình tạo html. Chúc may mắn.
1.
// remove all items all class
const items = document.querySelectorAll('item');
for (let i = 0; i < items.length; i++) {
items[i].className = '';
}
2.
// only remove all class of first item
const item1 = document.querySelector('item');
item1.className = '';
$("#item").removeClass();
$("#item").removeClass("class1 ... classn");
Vì không phải tất cả các phiên bản của jQuery đều được tạo như nhau, nên bạn có thể gặp phải cùng một vấn đề mà tôi đã làm có nghĩa là gọi $ ("# item"). RemoveClass (); không thực sự loại bỏ lớp. (Có lẽ là một lỗi)
Một phương pháp đáng tin cậy hơn là chỉ cần sử dụng JavaScript thô và loại bỏ hoàn toàn thuộc tính lớp.
document.getElementById("item").removeAttribute("class");
thử với removeClass
Ví dụ :
var nameClass=document.getElementsByClassName("clase1");
console.log("after", nameClass[0]);
$(".clase1").removeClass();
var nameClass=document.getElementsByClassName("clase1");
console.log("before", nameClass[0]);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="clase1">I am Div with class="clase1"</div>
Hãy sử dụng ví dụ này. Có thể bạn muốn người dùng trang web của bạn biết một trường hợp lệ hoặc nó cần được chú ý bằng cách thay đổi màu nền của trường đó. Nếu người dùng nhấn thiết lập lại thì mã của bạn chỉ nên đặt lại các trường có dữ liệu và không bận tâm lặp qua mọi trường khác trên trang của bạn.
Bộ lọc jQuery này sẽ loại bỏ lớp "highlightCriteria" chỉ cho các trường đầu vào hoặc chọn có lớp này.
$form.find('input,select').filter(function () {
if((!!this.value) && (!!this.name)) {
$("#"+this.id).removeClass("highlightCriteria");
}
});
Tôi đã có vấn đề tương tự. Trong trường hợp của tôi, các phần tử bị vô hiệu hóa đã được áp dụng rằng lớp aspNetDisables và tất cả các điều khiển bị vô hiệu hóa có màu sai. Vì vậy, tôi đã sử dụng jquery để loại bỏ lớp này trên mọi thành phần / điều khiển mà tôi sẽ không làm và mọi thứ đều hoạt động và trông rất tuyệt bây giờ.
Đây là mã của tôi để loại bỏ lớp aspNetDisables:
$(document).ready(function () {
$("span").removeClass("aspNetDisabled");
$("select").removeClass("aspNetDisabled");
$("input").removeClass("aspNetDisabled");
});
attr()
phiên bảnprop()
bây giờ?