@freeman0204

Как изменить при клике — на + before, after jquery?

Изначально видно минус h3:before при клике нужно добавить h3:after и если еще раз кликнуть, т.е .скрыть то убрать h3:after. Что то не выходит у меня. Что нужно дописать в jquery?

$('.catalog_box h3').click(function () {
    $('.menur').slideToggle('slow')
});


.catalog .left_box h3:before {
    content: '';
    position: absolute;
    width: 21px;
    height: 9px;
    background-color: #d20202;
    left: 0;
    top: 50%;
    transform: translate(0, -50%); }

.catalog .left_box h3:after {
    content: '';
    position: absolute;
    width: 9px;
    height: 21px;
    background-color: #d20202;
    left: 6px;
    top: 50%;
    transform: translate(0, -50%);
    display: none;
    }
  • Вопрос задан
  • 2727 просмотров
Решения вопроса 2
melodyn
@melodyn
Лучше нативная смерть, чем фреймворковая жизнь.
На сами псевдоэлементы влиять нельзя через JS, но ты можешь назначить другой класс, у которого псевдоэлементы будут отвечать заданным стилям.
Ответ написан
Ankhena
@Ankhena Куратор тега JavaScript
Нежно люблю верстку
$('.catalog_box h3').click(function () {
    $('.menur').slideToggle('slow');
    $(this).toggleClass("active")
});

При открытии добавлять какой-то класс, например, active. А к нему уже ::before.
Через js напрямую не достучаться до псевдоэлементов, потому что они псевдо.

http://jquery.page2page.ru/index.php5/Варьирование...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы