2014-07-14 3 views
0

아래 함수에서 div 블록을 추가하려고하는데 왼쪽 위치를 설정할 수 없습니다. 알림 기능은 '600px'메시지를 표시합니다. 내 화면에는이 블록이 다른 위치를 가지고 있습니다. 여기자바 스크립트, div 블록 추가

function show(){    
    if(document.getElementById('div1') == null){ 
     var div1 = document.createElement('div'); 
     div1.style.left = '600px'; 
     document.body.appendChild(div1); 
     alert(div1.style.left); 
    } 
} 

내 첫 번째 질문. 그래서 코드 스타일을 추가하는 방법을 모르겠습니다.

+0

JQuery! 너의 친구 야! – oliakaoil

+2

사소한 일에 jQuery를 사용하지 마십시오.이 작업은 무슨 일이 벌어지고 있는지를 이해하는 방식으로 이해되는 추상화가있는 거대한 라이브러리입니다. – Quentin

답변

1

left 속성은 에 위치하는 요소에만 적용됩니다. 배치 할 요소의 경우 static이 아닌 값 (기본값) 인 position 속성이 있어야합니다.

필요에 따라 relative, fixed 또는 absolute으로 설정하십시오.

0

div은 하위 콘텐츠가 없으므로 너비/높이가 0입니다. textContent 또는 innerHTML을 사용하여 div에 콘텐츠를 추가하십시오. 당신이 relative 또는 absolutepositioning을 설정하지 않는 한

또한, left 속성이 적용되지 않습니다. 이것은 다른 쪽 (right, topbottom)에도 적용됩니다.

2

두 가지 이유로 예시에서 페이지에 비주얼을 보지 않을 것입니다. 먼저 div에 아무것도 포함되어 있지 않으므로 높이 또는 너비가 없습니다. 둘째, 절대 또는 상대 표시 특성이 없기 때문에 시도하는 방식으로 요소를 배치 할 수 없습니다. 다음과 같이 시도하십시오.

function show(){ 

    if(document.getElementById('div1') == null){ 
     var div1 = document.createElement('div'); 
     div1.innerHTML = 'hi there'; 
     div1.style.left = '600px'; 
     div1.style.position = 'absolute'; 
     document.body.appendChild(div1); 
    } 
} 
관련 문제