У меня есть эта функция, которую я использую для удаления классов из элемента в javascript.Оптимизация Regex для удаления классов
var reg = new RegExp(cls+'(\\s|$)');
this.el.className = this.el.className.replace(reg, '').replace(/\s+$/g, '');
говорит, у вас есть три класса на элементе
show hide color
первых два удаляется вместе с пробелом после него, третьих прибудут вынимаются, но так как нет никаких пробелов после этого, он оставляет перед ним. Затем строка имеет дополнительные пробелы в конце. Поэтому я добавил вторую функцию замены, чтобы избавиться от нее, но она используется только в одном случае.
Вопрос: Как избавиться от этой второй функции замены и сделать одно регулярное выражение так, как я хочу. Благодаря!
Что вы пытаетесь сделать, удалить * все * классы ('element.className = '';' /'element.setAttribute ('класс', ''); ')? Или удалите определенный класс ('el.classList.remove ('color');')? –
Извините за замешательство, я пытаюсь удалить определенный класс (следовательно, переменная cls в регулярном выражении). classList ненадежен, поэтому я не работаю с ним. –
Регулярное выражение является правильным. Единственная причина может быть из-за пробела перед 'show' или двух пробелов после' color' – vks