Las personas que todavía están buscando alguna solución del mismo problema, es factible como sigue usando jQuery:
<button id="changeBefore">Change</button>
<script>
var newValue = '22';//coming from somewhere
var add = '<style>.graph:before{content:"'+newValue+'"!important;}</style>';
$('#changeBefore').click(function(){
$('body').append(add);
});
</script>
Este ejemplo ilustra que al hacer clic en el botón: changeBefore
, el valor de .graph:before
cambiará según nueva dinámica valor que viene para él.
Para más descripción sobre el cambio de :before
o :after
estilo elemento o conseguir su contenido:
vamos a suponer que el código HTML es así:
<div id="something">Test</div>
Y luego están estableciendo su: antes de CSS y diseñarlo como:
#something:before{
content:"1st";
font-size:20px;
color:red;
}
#something{
content:'1st';
}
Tenga en cuenta también puse content
atributo de elemento en sí por lo que puedes sacarlo fácilmente más tarde. Ahora hay un button
haciendo clic en el cual, desea cambiar el color de: antes a verde y su tamaño de fuente a 30px. Usted puede lograr que la siguiente manera:
definir un css con su estilo requerido en alguna clase .activeS
:
.activeS:before{
color:green !important;
font-size:30px !important;
}
Ahora puede cambiar: antes de estilo mediante la adición de la clase a su: antes del elemento de la siguiente manera:
<button id="changeBefore">Change</button>
<script>
$('#changeBefore').click(function(){
$('#something').addClass('activeS');
});
</script>
Si lo que desea es obtener el contenido de :before
, se puede hacer como:
<button id="getContent">Get Content</button>
<script>
$('#getContent').click(function(){
console.log($('#something').css('content'));//will print '1st'
});
</script>
espero que ayude
ver esta pregunta similar http://stackoverflow.com/questions/5041494/ manipulating-css-before-and-after-pseudo-elements-using-jquery – antyrat
Es factible como en 2016 usando jQuery. – Learner