「div」の値を、作業中の表示関数に渡す方法を理解するのに助けが必要です。これが私のコードです。
//上にコンストラクター関数があり、「newbox」を宣言し、ボックスの値も取得します//ページにボックスを表示し、それらの値を取得すると正常に動作します
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);
div.onclick = display;
//console.log("added");
}
return div;
}
//次の関数に渡す文字列を作る関数
function makeString(name,color) {
var aString = "name" + "color";
return aString;
}
// ボックスがクリックされたときにアラートを表示する関数を表示します。
function display(e) {
var a = e.target;
var string = makeString(a.name, a.color);
a.onclick = alert(string);
}
これまでのところ、ボックスをクリックすると、文字列「namecolor」が表示されます。「a.name」と「a.color」を実行することで、クリックしたターゲットからこれらの値を取得できると思いましたが、明らかに機能しませんでした。また、divをdisplay()関数に直接渡そうとしましたが、それを正しく行う方法がわかりませんでした。私は初心者なので、これは非常に明白かもしれませんが、助けていただければ幸いです。