2017-01-23 5 views
0

У меня есть стиль CSSКак изменить стиль CSS с помощью JavaScript

chosen-container b::after { 
font-family: FontAwesome; 
content: "\f078"; 
} 

Мне нужно изменить этот атрибут, Java Script, чтобы стать:

chosen-container b::after { 
font-family: FontAwesome; 
content: "\f077"; 
+0

Самый простой способ - просто создать второй класс (например, .chosen-container-toggled b :: after {...}) и использовать javascript для переключения между ними. – Snowmonkey

+0

Вы не можете напрямую манипулировать стилями CSS, используя Javascript. Если у вас есть такой случай, когда вы хотите изменить атрибуты CSS, лучше создать два разных класса css и использовать их с помощью jsvascript –

+0

возможного дубликата http://stackoverflow.com/questions/5041494/selecting-and-manipulating- CSS-псевдо-элементы, такие-как-до и после того, как-Усин – acesmndr

ответ

1

Используя обычный ванильный Javascript, вы можете сделать это с помощью следующий код:

var cont = document.getElementByClassName(".chosen-container"); 
cont.className += " container-selected"; 

Лучшая практика заключается в применении к вашему элементу другого класса модификатора.

Вы храните выбранный контейнер в качестве переменной и указываете javascript, чтобы применить к нему дополнительный класс (.container-selected) или один из ваших вариантов.

Затем просто применить необходимые изменения этого модификатора класс так:

.chosen-container.container-selected b::after { 
    font-family: 'FontAwesome'; 
    content: "\f077"; 
} 

Таким образом, JavaScript будет искать этот элемент, применить новый класс с обновленным значком к ней и вуаля.

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