2014-07-21 3 views
-3

어떤 점이 좋을까요?왜 jsfiddle에서 document.body에 액세스 할 수 없습니까?

http://jsfiddle.net/Qaym3/

+0

, 당신의 jsFiddle의 설정은에, 왼쪽 (은''로 자바 스크립트 코드를 넣고 있었어요 : 오히려

window.onload = function() { var p = document.createElement('p'); p.innerHTML = 'test'; document.body.appendChild(p); } 

JSFIDDLE 여기 언로드 방법을 사용 ** Frameworks & Extensions ** - * ''*)에 랩핑하지 않으므로' '은 파싱되지 않았으므로 조작/트래버스 할 수 없습니다. – Ian

답변

3

시체가 아직 없기 때문에

var p = document.createElement('p'); 
p.innerHTML = 'test'; 

document.body.appendChild(p); 
.

JS를 onDomready 또는 onLoad으로 실행하도록 설정하십시오.

+1

jsFiddle이 실제로 onLoad를 기본값으로 사용한다는 사실이 이상하게 들릴 수 있습니다. OP는 수동으로 JS 구성을 ""으로 수동으로 변경해야했습니다. 이는 수정하지 않고 이러한 상황을 일으킬 수있는 유일한 방법 일뿐입니다 JS, 그리고 아마도 사고가 될 수 없었던 것. – BoltClock

+0

FWIW, DOM이 있지만 'body'가 없습니다. –

+0

@FelixKling Fair 충분히. –

2

문서가 준비되기 전에 Javascript가 실행 중이기 때문입니다.

왼쪽의 스위치를 onDomready으로 바꾸면 좋을 것입니다. 는 document.body 여전히 NULL입니다 귀하의 자바 스크립트가 몸 전에로드 되었기 때문에

JSFiddle

관련 문제