jQuery修改CSS伪元素属性的方法



CSS伪元素(pseudo elements)不是DOM元素,因此你无法直接选择到它们。

假设有如下HTML代码:


 
<div class="techbrood" id="td_pseudo">techbrood introduction</div>
</pre></div></div></td></tr></tbody></table></div></div></div><p>和CSS代码:</p><div class="jb51code"><div><div class="syntaxhighlighter  css" id="highlighter_817764"><div class="toolbar"><span></span></div><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td class="gutter"><div class="line number1 index0 alt2"></div></td><td class="code"><div class="container"><div class="line number1 index0 alt2"><code class="css plain"></code><pre class="html" name="code"><pre class="css" name="code">.techbrood:before {

width: 0;
}
 
         

现在你想在某个元素的click事件中动态的把techbrood:before的width属性设置为100%,

有两个方法,一个是添加新的样式:

$('head').append("<style>.techbrood::before{ width:100% }</style>");


(注意该方法将影响所有的class为techbrood的元素)

另外一个方法是为该元素添加新类,并通过设置新类的属性来达到改变伪元素属性的效果:


.techbrood.change:before{
    width: 100%;
}


jQuery代码:



$( '#td_pseudo' ).addClass( "change" );

你可能感兴趣的:(jQuery修改CSS伪元素属性的方法)