Замість індивідуального виклику $("#item").removeClass()
кожного окремого класу, який може мати елемент, чи є одна функція, яку можна назвати, яка видаляє всі класи CSS з даного елемента?
Працюватимуть як jQuery, так і сирий JavaScript.
Замість індивідуального виклику $("#item").removeClass()
кожного окремого класу, який може мати елемент, чи є одна функція, яку можна назвати, яка видаляє всі класи CSS з даного елемента?
Працюватимуть як jQuery, так і сирий JavaScript.
Відповіді:
$("#item").removeClass();
Виклик removeClass
без параметрів видалить усі класи елемента.
Ви також можете використовувати (але це не обов'язково, рекомендується, правильний спосіб описаний вище):
$("#item").removeAttr('class');
$("#item").attr('class', '');
$('#item')[0].className = '';
Якщо у вас не було jQuery, то це був би ваш єдиний варіант:
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
Зачекайте, чи не видаляє за замовчуваннямClass () видалення всіх класів, якщо нічого конкретного не вказано? Тому
$("#item").removeClass();
зробить це самостійно ...
Просто встановіть className
атрибут реального елемента DOM ''
(нічого).
$('#item')[0].className = ''; // the real DOM element is at [0]
Редагувати: Інші люди сказали, що лише дзвінки на removeClass
роботу - я перевірив це на майданчику майданчика JQuery: http://savedbythegoog.appspot.com/?id=ag5zYXZlZGJ5dGhlZ29vZ3ISCxIJU2F2ZWRDb2RlGIS61gEM ... і це працює. Тож ви також можете це зробити так:
$("#item").removeClass();
Хе, прийшов у пошуках подібної відповіді. Тоді це мене вдарило.
Видаліть конкретні класи
$('.class').removeClass('class');
Скажіть, якщо елемент має клас = "клас іншого класу"
Можна просто спробувати
$(document).ready(function() {
$('body').find('#item').removeClass();
});
Якщо вам потрібно отримати доступ до цього елемента без назви класу, наприклад, вам потрібно додати нове ім'я класу, ви можете зробити це:
$(document).ready(function() {
$('body').find('#item').removeClass().addClass('class-name');
});
Я використовую цю функцію в своєму проекті для видалення та додавання класу в HTML-конструкторі. Удачі.
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");
Оскільки не всі версії jQuery створені рівними, ви можете зіткнутися з тією ж проблемою, яку я і зробив, що означає виклик $ ("# item"). RemoveClass (); насправді не видаляє клас. (Можливо, помилка)
Більш надійний метод - просто використовувати необроблений JavaScript і повністю видалити атрибут класу.
document.getElementById("item").removeAttribute("class");
спробуйте removeClass
Наприклад :
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>
Давайте скористаємося цим прикладом. Можливо, ви хочете, щоб користувач вашого веб-сайту знав, що поле є дійсним або воно потребує уваги, змінюючи колір фону поля. Якщо користувач звернеться до скидання, ваш код повинен скинути лише поля, у яких є дані, і не намагатися переглядати всі інші поля на вашій сторінці.
Цей фільтр jQuery видалить клас "selectCriteria" лише для введення або вибере поля, у яких є цей клас.
$form.find('input,select').filter(function () {
if((!!this.value) && (!!this.name)) {
$("#"+this.id).removeClass("highlightCriteria");
}
});
У мене було подібне питання. У моєму випадку на відключених елементах було застосовано те, що клас aspNetDisabled та всі відключені елементи керування мали неправильні кольори. Отже, я використовував jquery для видалення цього класу з усіх елементів / елементів управління, які я не маю, і все працює і виглядає чудово зараз.
Це мій код для видалення класу aspNetDisabled:
$(document).ready(function () {
$("span").removeClass("aspNetDisabled");
$("select").removeClass("aspNetDisabled");
$("input").removeClass("aspNetDisabled");
});
attr()
версія бутиprop()
зараз?