JavaScript - Si los elementos son mayores a 4, cambian su background

 
Vista:
sin imagen de perfil
Val: 19
Ha disminuido su posición en 9 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Si los elementos son mayores a 4, cambian su background

Publicado por kwk3 (8 intervenciones) el 23/07/2020 19:05:56
1
2
3
4
5
6
7
8
9
10
11
<div class="comment">
 
<div class="text">1</div>
<div class="text">2</div>
<div class="text">3</div>
<div class="text">4</div>
<div class="text">5</div>
<div class="text">6</div>
<div class="text">7</div>
 
</div>



He seleccionado todos los elementos de mi página que tienen la clase ".text" y les he cambiado el background a color rojo.
Me gustaría conseguir que todos los elementos ".text" que sean mayores o iguales a 4 tuviesen un background de color amarillo. He intentado lograrlo con la siguiente función pero sólo he conseguido cambiar todos a color rojo. ¿Alguien me dice qué estoy haciendo mal o me echa una mano?
Me gustaría que la segunda parte del script (A partir de "if( x[i] >=4..." pudiese reconocer cuáles de los div enumerados son mayores a 4 y les cambie el background). ¿Alguien me ayuda?




1
2
3
4
5
6
7
8
9
10
11
12
13
<script>
var x = document.querySelectorAll(".comment .text");
var i;
for (i = 0; i < x.length; i++) {
x[i].style.backgroundColor = "red";
 
}
 
if( x[i].innerHTML >=4){
x.style.backgroundColor = "yellow";
}
 
</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 26
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Si los elementos son mayores a 4, cambian su background

Publicado por Jonay Zevenzui (4 intervenciones) el 24/07/2020 08:30:08
El if está fuera del bucle for, por tanto no reconoce a que elemento debe cambiar el color. Prueba esto:

1
2
3
4
5
6
7
8
9
var x = document.querySelectorAll(".comment .text");
var i;
for (i = 0; i < x.length; i++){
    if( x[i].innerHTML >=4){
        x[i].style.backgroundColor = "yellow";
    }else{
        x[i].style.backgroundColor = "red";
    }
}
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar