【发布时间】:2019-05-25 05:58:50
【问题描述】:
我创建了一个变量,它是一个函数。该函数正在创建一个元素,应用样式并返回函数内的变量。
我后来有一个 for 循环,它有一个“if”,它想通过使用“appendChild”将该元素添加到已经存在的 div 中,但我无法让它工作。
有什么建议吗?
var wall = function () {
var tmp_wall = document.createElement('div');
document.getElementById("g_world").appendChild(tmp_wall);
}
var ground = function () {
var tmp_ground = document.createElement('div');
document.getElementById("g_world").appendChild(tmp_ground);
}
// *****************************************************************
var world = [
[1,1],
[2,2],
];
function drawWorld () {
for(var y = 0; y < world.length; y++) {
for(var x = 0; x < world[y]; x++) {
if(world[y][x] === 1) {
wall();
}
else if (world[y][x] === 2) {
ground();
}
}
document.getElementById('g_world').innerHTML += '<br>';
}
}
【问题讨论】:
-
return tmp_wall;之后的代码都不会运行。这应该是函数的结尾吗? -
你的代码不会做太多事情;它返回
tmp_wall,之后不再运行任何代码。请提供minimal reproducible example。您可以使用Stack Snippets 这样做。 -
你在哪里调用
wall()函数? -
见
document.getElementById('g_world') += document.g_world.appendChild(wall);我认为你试图在那里调用你的wall函数,但你必须使用wall()。 -
您的代码 sn-p 不完整。请发布完整的代码 sn-p。
标签: javascript appendchild createelement