Good I've been looking for the reason why I get this error. I have read that it is because of the location of the script and that it is recommended to put it at the end of the whole since the JS reading is from top to bottom, but even so the same error keeps appearing. Here I leave my code:
div#contenedor .subcontenedor {
margin-top: 40px;
display: grid;
grid-template-columns: 40px 40px 40px 40px 40px 40px 40px 40px 40px 40px ;
grid-template-rows: 40px 40px 40px 40px 40px ;
grid-gap: 5px;
border: 2px solid red;
float: left;
padding: 5px;
/* visibility: hidden; */
}
div#contenedor .item {
background-color:darkcyan;
color: #fff;
border: 2px solid darkblue;
}
<!DOCTYPE html>
<html lang="es">
<head>
<title></title>
<meta charset="UTF-8">
<link href="Estilos.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<form action="">
<h3>Numero Primos</h3>
<label for="numero">Numero</label>
<input type="text" name="numero" id="numero" placeholder="Introduce un número">
<input type="button" name="enviar" value="Generar"
onclick="generarNAleatorio();">
</form>
<div id="contenedor">
<div class="subcontenedor">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
<script>
function generarNAleatorio(){
var num = parseInt(document.getElementById("numero").value);
var cantidad = 2;
var inicio = 1;
var indicador = 0;
var contador = 0;
var indice = 0;
while(contador<=50){
while (inicio<=num){
if (num%inicio == 0){
indicador+=1;
}
inicio++;
}
if(indicador == 2){
document.getElementsByClassName("item")[indice].innerHTML = num;
contador ++;
indice++;
}
num += 1;
indicador = 0;
inicio = 1;
}
// document.getElementById("contenedor").style.visibility = "visible";
}
</script>
</body>
</html>
The process continues to work, but it gives me that error. What is owed or how can I correct it? I hope you can help me thank you very much.