Доступ к css “: после” селектор с jQuery

У меня есть следующий css:

.pageMenu .active::after { content: ''; margin-top: -6px; display: inline-block; width: 0px; height: 0px; border-top: 14px solid white; border-left: 14px solid transparent; border-bottom: 14px solid white; position: absolute; right: 0; } 

Я хотел бы изменить ширину границы верхней, левой и нижней границы с помощью jQuery. Какой селектор я использую для доступа к этому элементу? Я попробовал следующее, но, похоже, он не работает.

 $('.pageMenu .active:after').css( { 'border-top-width': '22px', 'border-left-width': '22px', 'border-right-width': '22px' } ) 

Вы не можете манипулировать :after , потому что он не является технически частью DOM и поэтому недоступен для любого JavaScript. Но вы можете добавить новый class с новым :after указанного.

CSS:

 .pageMenu .active.changed:after { /* this selector is more specific, so it takes precedence over the other :after */ border-top-width: 22px; border-left-width: 22px; border-right-width: 22px; } 

JS:

 $('.pageMenu .active').toggleClass('changed'); 

UPDATE: в то время как невозможно напрямую изменить :after содержимого, есть способы прочитать и / или переопределить его с помощью JavaScript. См. «Манипулирование псевдоэлементов CSS с помощью jQuery (например: before и: after)» для получения полного списка методов.

Вы можете добавить стиль для : после аналогичного html-кода.
Например:

 var value = 22; body.append(''); 

Если вы используете встроенный jQuery after() с пустым значением, он создаст динамический объект, который будет соответствовать вашему :after селектора CSS.

 $('.active').after().click(function () { alert('clickable!'); }); 

См. Документацию по jQuery .

  • Как изменить css display none или заблокировать свойство с помощью JQuery?
  • Селектор атрибутов jQuery для нескольких значений
  • Как я могу выбрать элемент с несколькими classами в jQuery?
  • Есть ли jQuery-подобный CSS / HTML-селектор, который можно использовать в C #?
  • поиск jQuery и контекст
  • Более чистый способ выбора нескольких возможных значений атрибутов?
  • Эффективный, лаконичный способ найти следующий соответствующий друг?
  • Как определить, работает ли браузер Chrome с помощью jQuery?
  • jQuery scrollTop не работает в Chrome, но работает в Firefox
  • Что такое fastest children () или find () в jQuery?
  • Фильтр jquery имеет +
  • Interesting Posts
    Давайте будем гением компьютера.