javascript - Selecting and manipulating CSS pseudo-elements such as ::before and ::after using jQuery -
is there way select/manipulate css pseudo-elements such ::before
, ::after
(and old version 1 semi-colon) using jquery?
for example, stylesheet has following rule:
.span::after{ content:'foo' }
how can change 'foo' 'bar' using jquery?
you pass content pseudo element data attribute , use jquery manipulate that:
in html:
<span>foo</span>
in jquery:
$('span').hover(function(){ $(this).attr('data-content','bar'); });
in css:
span:after { content: attr(data-content) ' other text may want'; }
if want prevent 'other text' showing up, combine seucolega's solution this:
in html:
<span>foo</span>
in jquery:
$('span').hover(function(){ $(this).addclass('change').attr('data-content','bar'); });
in css:
span.change:after { content: attr(data-content) ' other text may want'; }
Comments
Post a Comment