Este es mi código actual a continuación. Está generando un número aleatorio para mí al cargar la página y funciona bien para el div de destino. Sin embargo, quiero que esto ejecute esta función dentro de 8 divs separados. Obviamente, no puedo tener 8 divs con la misma identificación, así que cambié esto a getElementByClassName y cambié la clase en mi div a vvv y me deshice de la identificación , pero por alguna razón, ¿esto no funciona?
Además, ¿necesito algo más en mi secuencia de comandos para llamar a esta función para más de un div? Cualquier ayuda muy apreciada!
<script> let text = "VAC"; window.onload = function () { var output = document.getElementById("vvv"); setInterval(function () { output.innerHTML = Math.floor(Math.random() * (115 - 105 + 1)) + 105 + " " + text; }, 2000);//this value is the time between generating the number// }; </script>Está buscando getElementsByClassName (no getElementByClassName).
let text = "VAC"; let outputs = document.getElementsByClassName("vvv"); let randomDivs = function() { for (let output in outputs) { outputs[output].innerHTML = Math.floor(Math.random() * (115 - 105 + 1)) + 105 + " " + text } } randomDivs() setInterval(randomDivs, 2000); //this value is the time between generating the number// <div class="vvv"></div> <div class="vvv"></div> <div class="vvv"></div> <div class="vvv"></div> <div class="vvv"></div> <div class="vvv"></div> <div class="vvv"></div> <div class="vvv"></div>Puedes escribirlo así.
<body> <div class="vvv">1234</div> <div class="vvv">1234</div> <div class="vvv">1234</div> <script> let text = "VAC"; var output = document.getElementsByClassName("vvv"); //you can use getElementsByTagName("div") as well setInterval(function (){ Array.from(output).forEach((item, index) => {item.innerHTML = Math.floor(Math.random() * (115 - 105 + 1)) + 105 + " " + text;} )}, 2000) </script> </body>Nota: No me di cuenta de que ya se respondió con un enfoque similar. Puede probar getElementsByTagName("div") así como lo sugerido. Pero también tiene sus limitaciones.