これが私のコードです:
コンストラクター関数:
function Box (//parameters) {
// code for constructor function
}
新しいオブジェクトを作成するための値を取得する場所は次のとおりです。
function getBoxValues() {
//code to get values
if (name == null || name == "") {
alert("Please enter a name for your box");
return;
}
else {
var newbox = new Box("id", name, color, number, "coordinates"); //creates "newbox"
boxes.push(newbox);
addBox(newbox);
counter++;
}
ボックスをページに追加する場所は次のとおりです。
function addBox(newbox) {
for (var i = 0; i < newbox.number; i++) {
var scene = document.getElementById("scene");
var div = document.createElement("div");
div.className += " " + "box";
div.innerHTML += newbox.name;
div.style.backgroundColor = newbox.color;
var x = Math.floor(Math.random() * (scene.offsetWidth-101));
var y = Math.floor(Math.random() * (scene.offsetHeight-101));
div.style.left = x + "px";
div.style.top = y + "px";
scene.appendChild(div);
}
return div;
}
display();
function display(div) {
div.innerHTML += "alert";
console.log("alert");
}
私の問題は、オブジェクトの innerHTML に書き込むことができるように、div の値を表示関数に渡そうとしていることです。div が定義されていないというメッセージがコンソールに表示され続けます。これはおそらくスコープの問題だと思いますが、それを理解するのに苦労しています。