2013-06-03 2 views
2

У меня есть таблица стилей:Изменить свойство Pseudo через JQuery?

#progress 
{ 
    width:100px; 
    height:8px; 
    background-color:#CCCCCC; 
    position:relative; 
} 
#progress:before 
{ 
    content:""; 
    position:absolute; 
    left:0; 
    background-color:#0066CC; 
    width:50px; 
    height:8px; 
} 

HTML содержание

<div id="progress"> 

Я хочу, чтобы изменить свойство width:50px из #progress: прежде, чем на JQuery

$('#progress:before').css('width',60); 

, но он не работает , Может кто-нибудь мне помочь. Я плохо разбираюсь в английском, спасибо!

+0

Вы хотите изменить css для предыдущего элемента div # progress. правильно? –

+1

@ChetanBhopal, нет, он хочет изменить CSS псевдоэлемента, созданного с помощью CSS ': before' и' content: '' ', и этого, конечно, не может быть сделано. –

ответ

1

Псевдоэлементы сами по себе не являются частью DOM, и поэтому вы не можете напрямую их выбирать и манипулировать с помощью jQuery (или любых API-интерфейсов JavaScript, даже не API Selectors). вещи, которые вы делаете, невозможны :)

1

Псевдо-селектор изменяет, а не выбирает. Созданный контент является чисто презентационным и не вводится в DOM. Таким образом, вы не можете делать то, что хотите сделать с jQuery.

Более подробный ответ см. В разделе How do I access style properties of pseudo-elements with jQuery?.