테스트 사이트 - 개발 중인 베타 버전입니다

스크립트 위치에 관해서.... 채택완료

홈짱 9년 전 조회 5,634

스크립트는 대개 <head></head> 사이에 넣으라고 하잖아요.

 

그런데, 가끔 보면

 

스크립트 코드가 출력 위치 HTML 코드보다 앞에 위치하면 

값이 제대로 출력 안 되는 경우가 있더라구요.

 

 

 

(예)
 

[출력 안 됨] http://codepen.io/sinbi/pen/KrjXgp">http://codepen.io/sinbi/pen/KrjXgp
 

[출력 잘 됨] http://codepen.io/sinbi/pen/Gqbrqw">http://codepen.io/sinbi/pen/Gqbrqw


 

 

 

어쩔 땐 스크립트를 앞에 위치시켜야 하고,

어쩔 땐 스크립트를 뒤에 위치시켜야 하는 건가요?

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
SLOOP
9년 전

브라우저는 위에서 아래로 랜더링 하는데

 

<div>a값: "<span id="hom"></span>"</div> 

<div>b값: "<span id="zzang"></span>"</div> 

 

가 로드되기전에 스크립트를 호출 하면 실행이되지 않습니다.

http://codepen.io/sinbi/pen/Gqbrqw" style="color: rgb(0, 0, 0); font-family: 돋움, Dotum, sans-serif; font-size: 14.004px; line-height: 25.2072px;">http://codepen.io/sinbi/pen/Gqbrqw 처럼 해야 하는게 맞습니다.

상위에 선언하려면 지금 html이 다 로드된다음에 실행 하도록 명령하셔야 합니다.

sir 소스보기 보면 
$(function() {
... 페이지가 로드된 후에 실행되는 스크립트
})

이런식으로요
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
9년 전

답변해주신 분들 모두 감사합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

I
9년 전

스크립트가 실행될때 해당 html 이 로딩이 되어있어야 가능한경우 입니다.

 

document.getElementById("hom").innerHTML 

 

html hom 이라는 id를 가진 태그가 로딩 되기전에 스크립트가 실행이 된경우입니다.

 

 

그래서 html 로딩이 다된후에 스크립트 실행이 필요하다면 onload() 함수를 씁니다.

 

 

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인