これについてさまざまな回答を検索しましたが、見つかりません。ここにある例は、完全に異なっているか、複雑すぎて比較できないか、単に適合していないかのいずれかです。これが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「コンテンツ」を持つ別の既存の div にある、ID「ロゴ」を持つ他の既存の 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が未定義であると主張しています.2番目のものでは、logoElementとcontentElementの両方が未定義であると主張しています.
編集:みんなありがとう!私は今完全に恥ずかしいです。:)