我对编码和编码非常陌生。我也有一段时间没有练过这些语言,所以这可能是一个非常愚蠢的问题。我正在尝试使用this教程创建一个随机生成器,但是我在完成项目时遇到了一些问题。
我的JavaScript是
function generator() {
var ideas = ["design it for meerkats", "make it twice as big and half as loud", "use the rainbow filter in photoshop", "design using sound", "must not have a conscious or unconscious gender bias", "make it appeal to dogs", "make it so it can be unmade"];
var randomNumber1 = parseInt(Math.random() * ideas.length);
var command = ideas[randomNumber1];
//alert(command);
};
//generator();
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
//A div element is created to show the generated name.
//The Name is added as a textnode. Textnode is added to the placeholder.
var element = document.createElement("div");
element.setAttribute("id", "result");
element.appendChild(document.createTextNode(command));
document.getElementById("placeholder").appendChild(element);
我的HTML是
<body onload=”generator()”>
<div id="generator">
<div id="placeholder"></div>
<input type="button" value="Click here!" onclick="generator()" />
</div>
在教程(和演示中)中,随机生成的文本显示在“占位符”div中。但是,当我尝试运行代码时,文本永远不会显示,只有按钮,单击时不执行任何操作。我已经回过头了很多次&amp;我觉得我必须遗漏一些非常明显的东西。
答案 0 :(得分:6)
将文本放在div中的代码位于generator
函数之外。这是单击按钮时调用的函数
function generator() {
var ideas = ["design it for meerkats", "make it twice as big and half as loud", "use the rainbow filter in photoshop", "design using sound", "must not have a conscious or unconscious gender bias", "make it appeal to dogs", "make it so it can be unmade"];
var randomNumber1 = parseInt(Math.random() * ideas.length);
var command = ideas[randomNumber1];
if(document.getElementById("result")){
document.getElementById("placeholder").removeChild(document.getElementById("result"));
}
//A div element is created to show the generated name.
//The Name is added as a textnode. Textnode is added to the placeholder.
var element = document.createElement("div");
element.setAttribute("id", "result");
element.appendChild(document.createTextNode(command));
document.getElementById("placeholder").appendChild(element);
}