2012-07-13 2 views
2

질문은 왜 div의 부하를 추가하지 않는 것입니까? 나는 이것에 머리를 긁적입니다. 오류 없음 ... 로딩하지 마세요. 당신은 getElementById에 문자열을 공급하기로되어있다appendChild on load

<head> 
    <script type="text/javascript"> 
     function load() { 
      var divTag0 = document.createElement("div"); 
      divTag0.className = "newsBlock"; 
      divTag0.innerHTML = " Try this.."; 
      document.getElementById("newsLeft").appendChild(divTag0); 

      var divTag1 = document.createElement("div"); 
      divTag1.className = "newsBlock"; 
      divTag1.innerHTML = " Blah.."; 
      document.getElementById("newsRight").appendChild(divTag1); 

      var divTag2 = document.createElement("div"); 
      divTag2.className = "newsBlock"; 
      divTag2.innerHTML = " And this .."; 
      document.getElementById("newsLeft").appendChild(divTag2);  
     } 
    </script> 
</head> 
<body> 
    <p> Something filler </p> 
    <div id="newsLeft"> 
    </div> 
    <div id="newsRight">  
    </div> 
    <script type="text/javascript"> 
     window.onload="load()"; 
    </script> 
</body> 

답변

1

azhrei의 대답이 작동하지 않는다면,로드 한 후 onload를 호출하면 트리거되지 않을 수 있다고 생각할 수있는 유일한 방법은 load(); 그것은이 있다고, 난이 azhrei 그것의 권리를 가지고 있다고 생각

, 그것은 온로드가 트리거되지 않도록 많은 아니다 :

나는이

EDIT 도움이 here

희망을 테스트 onload 호출에 구문 오류가 있습니다.

그러나이 코드는 두 번째 JS 호출을 제거하여 더 나은 스타일 (더 읽기 쉽고 이해하기 쉽다) 측면에서 개선 될 수도 있습니다. 헤더에서

당신이 작성하는 경우 :

window.onload = function() { 
    //everything inside your load() function goes here 
} 

그것은 단지뿐만 아니라 작동합니다. 그것은 또한 그저 그런 종류의 보풀을 제거합니다. 도움이되기를 바랍니다.

+0

완벽. 나는 그저 재미를 부르는 것을 몰랐다. Semi newb javascript. –

+0

이것은 다른 버그를 여기에서 찾는데 도움이되었습니다. 그래서 명시 적으로 다시로드 할 필요가 없습니다 ... 단지 window.onload 함수를 문자열이 아닌 함수로 설정하십시오. :-) 나는 이것으로 나의 대답을 업데이트했다. – azhrei

+0

방금 ​​azhrei가 말한 내용에 귀를 기울이고 어제 내 솔루션보다 전반적인 스타일을 더 잘 표현할 수있게 편집했습니다. 그게 더 도움이되기를 바랍니다. –

4

...

그래서 : document.getElementById("newsLeft").appendChild(divTag0);

그러나 주요 문제는 다음과 같습니다 : document.getElementById(newsLeft).appendChild(divTag0);

은이어야한다 window.onload="load()";

W hich는 다음과 같아야합니다.

바이올린에 대한 jvillars 덕분에이를 알 수있었습니다.

+0

예전에 성공하지 못했습니다. 따옴표를 붙이더라도 작동하지 않습니다. –

+0

답변을 업데이트했습니다. 다시 시도하십시오. – azhrei