Добро пожаловать на Вопросы и Ответы YouOn , где вы можете задать вопросы и получить ответы от других пользователей сервиса.

Как поменять добавить удалить имя класса в Javascript

0 голосов

Доброго времени суток, дорогие друзья, скажит пожалуйста как можно на Javascript удалить или добавить класс к уже существующим. Я знаю про element.className='myclass', но вот только это полностью удалит существующие классы. А если я например хочу добавить класс к другим классам объекта или например если я захотел удалить класс groove у объекта с class="one groove two", тогда как мне быть?

Ребят, я очень надеюсь что вы поможете мне хотя бы советом о том как можно без jQuery удалить или добавить класс HTML элементу.

Спросили Sep 13, 2014 в категории Интернет

1 Ответ

0 голосов
 
Лучший ответ
Добрый день, приятель. Вчера сам делал такую функцию, которая позволяет удобным образом "правильно" добавлять и удалять классы из атрибута class HTML-элементов.
Функция:
function doclass(el,cl,act){
var cls=el.className;
var regX=new RegExp('(\\s|^)'+cl+'(\\s|$)');
if(act=='del'){if(cls.match(regX)) el.className=cls.replace(regX, ' ' );}
if(act=='add') if(!cls.match(regX)) el.className += " "+cl;
}
Ещё можно попробовать такой регексп: new RegExp("(?:^|\s)"+cl+"(?!\S)")
Пример использования: doclass(document.getElementById('bike'),"myclass","add");
 
Это довольно хороший способ, также можно использовать classList (Официальное API по классам), с помощью которого можно много удобно менять и добавлять классы объектам. Минусом является лишь то что он пришёл вместе с HTML 5 и не поддерживается многими браузерами. Подробнее о classList.
 
Ответ Sep 13, 2014
Редактирование Sep 13, 2014
...