-1

これについてさまざまな回答を検索しましたが、見つかりません。ここにある例は、完全に異なっているか、複雑すぎて比較できないか、単に適合していないかのいずれかです。これが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の両方が未定義であると主張しています.

編集:みんなありがとう!私は今完全に恥ずかしいです。:)

4

1 に答える 1