我已经为此搜索了各种答案,但找不到它们。此处找到的示例要么完全不同,要么太复杂而无法比较,或者只是不合适。如果这是一个 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);
我只想将一个新创建的 ID 为“nav”的 div 放在另一个 ID 为“logo”的现有 div 之前,该 div 位于另一个 ID 为“content”的现有 div 中。
我在定义父级时也尝试过一次:
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 都声称它们未定义。
编辑:谢谢各位!我现在彻底尴尬了。:)