我需要帮助弄清楚如何将“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() 函数,但我没有弄清楚如何正确地做到这一点。我是初学者,所以这可能非常明显,但感谢您的帮助。