繁体   English   中英

Javascript问题或比什么都缺乏知识

[英]Javascript problem or more lack of knowledge than anything

希望这相当简单。

这是我下面的当前代码。 它在加载页面时为我生成一个随机数,并且适用于目标 div。 但是,我希望它在 8 个单独的 div 中运行此功能。 我显然不能有 8 个具有相同 id 的 div,所以我将其更改为 getElementByClassName 并将我的 div 上的类更改为 vvv 并摆脱了 id 但由于某种原因这不起作用?

另外,我的脚本中是否需要其他任何内容来为多个 div 调用此函数? 非常感谢任何帮助!

<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>

您正在寻找 getElementsByClassName(不是 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>

你可以这样写。

<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>

注意:没有意识到已经用类似的方法回答了它。 您可以按照建议尝试 getElementsByTagName("div") 。 但它也有它的局限性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM