2015-09-02 4 views
0

Существует класс div с надписью # Roster-1000115-Color. Этот элемент div представляет собой раскрывающееся меню, которое позволяет вам выбирать разные цвета. 1000115 - это токен сеанса, поэтому число постоянно меняется. Мне нужно заменить это числом, которое представляет значение цвета.Как изменить часть имени класса div с помощью JavaScript

Например, если я нажимаю раскрывающееся меню, и я выбираю «Белый», мне нужно, чтобы класс div переименовывался в # Roster-FFFFFF-Color.

Мне нужна функция javascript, которая будет идентифицировать номер идентификатора сеанса, а затем заменить на постоянное значение.

Я пытался использовать REGEX для поиска этого номера. Я не уверен, как идентифицировать идентификатор сеанса, а затем заменить его на список значений цвета.

+1

Есть ли у вас еще код? – ryanpcmcquen

+1

Я смущаю ваше описание. Пожалуйста, разместите несколько примеров разметки и кода. Рассмотрите возможность использования jsfiddle или codepen – dtanders

+0

@dtanders или рассмотрите возможность использования ** Stack Overflow Snippets ** - его маленький значок документа с '' в нем, когда вы редактируете сообщение. В более подходящем примечании, зачем использовать регулярное выражение или что-то в этом роде? Просто создайте новое имя класса '' Roster- '+ colorstring +' -Color'' и удалите старый класс. Использование регулярного выражения для этого является чрезмерным, как медленным. – somethinghere

ответ

1

Вы ищете это регулярное выражение? https://regex101.com/r/vE3oY6/2

/#Roster-([0-9a-f]{6})-Color/gi 

Вот разбивка по ([0-9a-f]{6}) части:

(     //Start capturing group 
    [0-9a-f]{6}  //Find any digit or letter from a to f recurring exactly 6 times 
) 

gi означает проверку на регулярное выражение в глобальном масштабе (много раз) и нечувствительны к регистру, так как класс или идентификатор должен быть нечувствительным к регистру.

+0

Regex - это немного тяжелое решение, но оно действительно работает. TBH, лучше избегайте регулярного выражения, если вы можете его довольно медленно. – somethinghere

+0

@somethinghere, так как вопрос немного расплывчатый, я могу только поймать часть «Я пробовал регулярное выражение». Я не думаю, что производительность не будет проблемой. –

Смежные вопросы