2013-02-11 4 views
0

현재 div의 끝에 노드를 추가하여 div에 동적으로 추가하고 있지만 div의 끝보다는 처음에 추가하려고합니다.어떻게 Javascript에서 div의 시작 부분에 노드를 추가 할 수 있습니까?

내 현재 코드는 다음과 같습니다

var para=document.createElement('div'); 

var node=document.createTextNode('this is new'); 
para.appendChild(node); 

var element=document.getElementById("div1"); 
element.appendChild(para); 


<div id="div1"> 
<p id="p1">This is a paragraph.</p> 
<p id="p2">This is another paragraph.</p> 
</div> 

어떻게 사업부의 시작 부분에 추가 할 수 있습니까?

답변

3

당신은 부모의 firstChild 참조 요소로와 insertBefore()을 사용할 수 있습니다 : jQuery를 (http://www.jquery.com)에

var element = document.getElementById("div1"); 
element.insertBefore(para, element.firstChild); 
+0

노드/요소에 자식이없는 경우. 이것이 어떻게 작동할까요? –

+1

@Justin,이 경우'firstChild'는'null'이 될 것이고'insertBefore()'는 부모 요소의 끝에 새로운 요소를 덧붙이 기 시작할 것입니다 (빈 상태이기 때문에 처음과 같습니다) . –

+0

+1 답변 해 주셔서 감사합니다. –

0

봐 그냥 너무 쉽게 당신의 인생을 만들어 줄게 때문이다. 다른 라이브러리가 있지만 jQuery가 가장 많이 사용됩니다. jQuery로

귀하의 코드 :

$("<div/>").append("this is new").appendTo($("#div1")) 

그리고 앞에 추가에 대한 :

$("<div/>").prepend("this is new").prependTo($("#div1")) 
0

은 내가 잘 모르겠어요하지만 당신은 같은 것을 할 수 있습니다

<script type="text/javascript"> 
window.onload=function(){ 
dv=document.createElement('div1'); 
txt=document.createTextNode('this is new'); 
dv.appendChild(txt); 
document.getElementById('div1').appendChild(dv); 
} 
</script> 
0

javascript insertBefore() 메소드를 사용할 수 있습니다. 당신이 dom에 추가 할 때.

관련 문제