insertbefore not working(JavaScript)

时间:2013-06-13 20:24:15

标签: javascript insert

我已经搜索了各种答案,但找不到它们。这里找到的例子要么完全不同,要么比较复杂,要么不合适。如果这是一个N00bz问题,我很抱歉,但这似乎让我很困惑。

var navElement = document.createElement("div");
navElement.id="nav";
navElement.innerHTML="<ul><li>item1</li><li>item2</li><li>item3</li><li>item4</li></ul>";
var logoElement = getElementById("logo");

logoElement.parentNode.insertBefore(navElement,logoElement);

我只想把一个新创建的div与ID“nav”放在另一个已经存在的div之前,ID为“logo”,这是一个不同的已存在的div,ID为“content”。

在定义父级时我也尝试了一次:

var navElement = document.createElement("div");
navElement.id="nav";
navElement.innerHTML="<ul><li>item1</li><li>item2</li><li>item3</li><li>item4</li></ul>";

var logoElement = getElementById("logo");
var contentElement = getElementById("content");

contentElement.insertBefore(navElement,logoElement);

我不想要我可以使用的替代品等等......我只想要一个直截了当的答案,说明为什么这不起作用或至少有一些建议这里出了什么问题。它只是没有在浏览器中显示#nav。

再一次,抱歉这是一个N00bz问题。

注意:在第一个,我检查了Firebug,它声称logoElement由于某种原因未定义...在第二个上,logoElement和contentElement都声称它们未定义。

编辑:谢谢你们!我现在彻底尴尬了。 :)

1 个答案:

答案 0 :(得分:1)

logoElement未定义,因为您没有正确选择它。

必须从getElementById

调用{p> document
var logoElement = document.getElementById()