Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何连接函数、createElement和random?_Javascript_Html - Fatal编程技术网

Javascript 如何连接函数、createElement和random?

Javascript 如何连接函数、createElement和random?,javascript,html,Javascript,Html,这是我的代码,我正试图使一个按钮,使随机按钮,但我不能连接代码的权利 p id="demo">Click the button to display a random number. /p> button onclick="myFunction()">Try it /button> script type="text/javascript"> function myFunction(){ var num = 5; document.getE

这是我的代码,我正试图使一个按钮,使随机按钮,但我不能连接代码的权利

p id="demo">Click the button to display a random number. /p> button onclick="myFunction()">Try it /button> script type="text/javascript"> function myFunction(){ var num = 5; document.getElementById("demo").innerHTML=Math.floor(Math.random()*num) var box=document.createElement("BUTTON"); document.body.appendChild(box); var c = num + box; return c; } p id=“demo”>单击按钮以显示随机数/p> button onclick=“myFunction()”>试试看/button> script type=“text/javascript”> 函数myFunction(){ var-num=5; document.getElementById(“demo”).innerHTML=Math.floor(Math.random()*num) 变量框=document.createElement(“按钮”); 文件.正文.附件(框); var c=num+box; 返回c; }
有人能帮我吗?

据我所知,您正试图在
#demo
innerHTML
中创建“n”个随机按钮

如果是这样,您需要循环它。试试这个

function myFunction() {
    var num = 5;
    document.getElementById("demo").innerHTML = Math.floor(Math.random() * num)
    var noOfButtons = document.getElementById("demo").innerHTML;
    for (var i = 0; i < noOfButtons; i++) {
        var box = document.createElement("BUTTON");
        document.body.appendChild(box);
    }
}
3) 您需要将子元素(
)附加到
#demo
元素,而不是像下面这样的主体

document.getElementById('demo').appendChild(box);
最后,您的代码应该如下所示

function myFunction() {
    document.getElementById('demo').innerHTML = '';
    var num = 5;
    var noOfButtons = Math.floor(Math.random() * num);
    console.log(noOfButtons);
    for (var i = 0; i < noOfButtons; i++) {
        var box = document.createElement("BUTTON");
        document.getElementById('demo').appendChild(box);
    }
}
函数myFunction(){
document.getElementById('demo')。innerHTML='';
var-num=5;
var noOfButtons=Math.floor(Math.random()*num);
控制台日志(无按钮);
对于(变量i=0;i


希望您能有所了解。

您想要什么还不清楚。您当前的函数会在
#demo
元素中输出一个随机数,在主体中附加一个空的
,并返回
“5[object HTMLButtonElement]”
。预期的结果是什么?“创建随机按钮”太模糊了。我有一个按钮,每次我放置它时,它会随机生成5个框,但我的代码每次放置它时只生成一个随机数和一个新框。但是我试着做一个限制为5@Søren:你的意思是你想要生成一个随机数目的盒子?你想限制什么,盒子的总数?是的,我想限制盒子的总数,我只想看到盒子。我有一个按钮,每次我放它时,它会随机生成5个盒子,但我的代码每次放它时只生成一个随机数和一个新盒子。但是我试着做一个限制为5@SørenPhithak这是不是像“谢谢你的帮助”一样,我现在更接近我想要我尝试去做的事情了,但是我如何删除同样显示的数字,如何重置它,使它不再继续?@SørenPhithak你不想让数字正确显示?请勾选此项,非常感谢,但我还有一个问题,我如何重置它,使它不会在我放置它时继续制作盒子?
function myFunction() {
    document.getElementById('demo').innerHTML = '';
    var num = 5;
    var noOfButtons = Math.floor(Math.random() * num);
    console.log(noOfButtons);
    for (var i = 0; i < noOfButtons; i++) {
        var box = document.createElement("BUTTON");
        document.getElementById('demo').appendChild(box);
    }
}