entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

cambiar atributo de una clase con Javascript

Buenas tengo una barra de progreso.

Este es el HTML

<div class="bar">
  <div class="info">
    <span>Limpieza</span>
  </div>
  <div class="progress-line" id="limpieza">
    <span></span>
  </div>
</div>

y este es en parte, el css

.bar .progress-line.seguridad span{
  width: 90%;
}
.progress-line.seguridad span::after{
  content: "90%";
}

Lo que quiero hacer es que cambie el valor tanto del width como del content al valor que ponga con javascript

he probado con esto, pero no funciona:

var seguridad2 = document.getElementByClassName("bar progress-line seguridad").getElementByTagName('span');  
  seguridad2.style.width = "100%";

por cierto tengo pensado sustituir el valor 100% por un valor retornado en Django. No se si se puede o no, quedando algo así.

seguridad2.style.width = "{{lista.ancho}}";

1 Respuesta

1voto

Me autorespondo. No se pueden cambiar directamente los seudoelementos. para ello tenemos que usar los atributos.

.progress-line.seguridad span::after{
  content: atrr(tag-id);
}

y entonces en el html tenemos por ejemplo:

<div class="progress-line" id="limpieza" tag-id=90>
    <span></span>
</div>

luego con Javascript lo buscamos al elemento por id y le modificamos el tag-id

0voto

Peter comentado

Gracias por compartir la solución!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta