2014-12-11 5 views
0

У меня есть класс в CSS файл, как этоткак изменить значение CSS

#current a::after { 
    background: #fff; 
    z-index: 3; 
} 

мне нужно изменить Backround цвет, нажав на флажок

$(document).ready(function(){ 
    $(".element").click(function(){  

     $("#current a::after").css("background-color:", "red");  

    }); 

Что такое правильный синтаксис моего кода?

+1

удалить знак ':' из 'background-color' – vaso123

+0

он должен выглядеть так:' $ ("# current a :: after"). Css ({"background-color": "red"}); 'или' $ ("# current a :: after"). css ("background-color", "red"); ' – Banzay

ответ

0

У вас нет необходимости : в вашей собственности.

css() функция JQuery будет принимать либо 2 параметра (свойство, значение) для одного изменения:

$('div').css('background-color','#fff');

или объект для множественных изменений:

$('div').css({'background-color':'#fff', 'color':'#000'});

3

В соответствии с этим сообщением (https://stackoverflow.com/a/5041526/3349272) манипулирование псевдоэлементами CSS с помощью jquery не возможно BLE.

Но вот решение вашей проблемы ...

Jquery

$(document).ready(function(){ 
    $(".element").click(function(){ 
     $("#current a").addClass("after");  
    }); 
}); 

(Вы также можете использовать "toggleClass" в зависимости от того, что вы пытаетесь для того чтобы достигнуть.)

CSS

#current a.after:after{ 
    background-color: red; 
} 

Это просто другое решение этой проблемы. Добавляя класс и новый стиль CSS, вы можете добиться того же результата.