我需要在另一个div之上创建一个div,但我无法访问css文件,因此一切都需要通过JavaScript完成。
这是我的错误代码:
var div = document.getElementById("down");
var divAbove = document.createElement("div");
divAbove.id = "up";
divAbove.style.background = "red";
divAbove.style.position = "absolute";
divAbove.style.width = "150px"
div.appendChild(divAbove );
我看不到新的div。
答案 0 :(得分:2)
如果您可以精确定位容器元素,则可以使用.insertBefore()
var container = document.getElementById("container");
var div = document.getElementById("down");
var divAbove = document.createElement("div");
divAbove.id = "up";
divAbove.style.backgroundColor = "red";
divAbove.style.width = "110px"
divAbove.style.height = "60px"
divAbove.innerHTML = "Added via JS"
container.insertBefore(divAbove, div);
<div id='container'>
<div id='down' style='height: 60px; width: 110px; background-color: yellow'>
Existing element
</div>
</div>
答案 1 :(得分:1)
这项工作。
var div = document.getElementById("down");
var divAbove=document.createElement("div");
divAbove.id = "up";
divAbove.style.background = "red";
divAbove.style.position = "absolute";
divAbove.style.width = "150px";
divAbove.style.height= "150px";
div.appendChild(divAbove);
答案 2 :(得分:-1)
从这一点开始我会说div就在那里,但是由于divAbov.style.background = "red";
中的拼写错误,它没有可见的背景。尝试修复拼写错误。
如果问题仍然存在,请在控制台日志中发布错误。
答案 3 :(得分:-1)
您无法看到新div
的原因是您没有给任何机构。例如,在附加divAbove
以下内容之前可能需要写一下:
divAbove.innerHTML = "Hello World";