2013-06-13 2 views
-1

나는 이것에 대한 여러 가지 답변을 검색했으며 찾을 수 없습니다. 여기에있는 예제는 완전히 다른, 비교하기가 너무 복잡한 것 또는 피팅하지 않는 것 중 하나입니다. 이것이 N00bz 질문이라면 유감 스럽지만 이것은 단지 나를 괴롭히는 것처럼 보입니다.insertbefore not working (자바 스크립트)

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 "내용"과는 다른 이미 존재 사업부에있는 ID "로고"와 다른 이미 존재 사업부하기 전에 "탐색"ID를 하나 개 새로 생성 된 사업부를 넣고 싶다.

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

당신이 단지에서 getElementById를 호출하는 대신 document.getElementById를 호출해야합니다 같아요. 전역 개체는 문서가 아니라 창입니다. – Jonas

답변

1

logoElement은 제대로 선택하지 않았기 때문에 정의되지 않았습니다.

getElementByIddocument에서 호출해야합니다

var logoElement = document.getElementById() 
+1

또한'document.'없이'getElementById'를 호출 할 때 예외가있을 것으로 예상됩니다. –

+0

웁스! 글쎄 그건 당황 스럽네. 지금은 매력처럼 작동합니다. 하하! :) 감사! –

+0

이 질문을 삭제하는 것이 좋습니다. 담당자에 대해서는 신경 쓰지 않으며 다른 사람을 돕기에는 너무 지역적인 문제입니다. – Mathletics