2017-04-26 5 views
-1

저는 인터넷 자원에서 자바 스크립트 코드를 배우지 만, 어떤 문제를 만났습니다. 내 코드가 작동하지 않고 an'Uncaught TypeError가 나타납니다. .. '나는 오류를 되찾기 위해 여러 가지 방법을 시도하지만 작동하지는 않는다.잡히지 않은 TypeError : window.onload에서 null의 속성 'length'을 읽을 수 없습니다.

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>win下载 </title> 
    <style> 
     div {width: 200px;height: 200px;float: left; 
      border: 1px solid black;margin: 10px} 
    </style> 
    <script> 
     window.onload=function() { 
      var aDiv = document.getElementById('div'); 
      alert(aDiv.length); 
     // aDiv[0].style.background = 'red'; 
     }; 
    </script> 
</head> 
<body> 
    <div></div> 
    <div></div> 
    <div></div> 
    <div></div> 
</body> 
</html> 
+0

가 ID "DIV" –

답변

2

예제에서 document.getElementById('div')을 사용하고 있습니다. ID가 div 인 요소가 없습니다.

나는 document.getElementsByTagName('div')을 찾고 있다고 가정합니다. 모든 <div> 요소를 반환합니다.

window.onload = function() { 
    var divElements = document.getElementByTagName('div'); 

    alert(divElements.length); // 4 

    divElements[0].style.background = 'red'; // set the first div element's background to red 
}; 
+1

가 그가 그의 색인 aDiv에 따라, 원하는 길이 – Orangesandlemons

+0

확인 대단히 감사합니다 무슨의 확신, 귀하의 방법은 내 문제를 해결 아무 요소가 없습니다. –

+0

@GalenChen 아무 문제, 정답을 표시해주세요. –

1

var aDiv = document.getElementById('div'); 해야 var aDiv = document.getElementsByTagName('div');

<!DOCTYPE html> 
 
    <html lang="en"> 
 
    <head> 
 
     <meta charset="UTF-8"> 
 
     <title>win下载 </title> 
 
    <style> 
 
     div {width: 200px;height: 200px;float: left; 
 
      border: 1px solid black;margin: 10px} 
 
    </style> 
 
    <script> 
 
     window.onload=function() { 
 
      var aDiv = document.getElementsByTagName('div'); 
 
      alert(aDiv.length); 
 
     // aDiv[0].style.background = 'red'; 
 
     }; 
 
    </script> 
 
</head> 
 
<body> 
 
    <div></div> 
 
    <div></div> 
 
    <div></div> 
 
    <div></div> 
 
</body> 
 
</html>

(참고 : 그것은 당신의 HTML에서 별도의 자바 스크립트를하는 것이 가장 좋습니다)

1

ID는 속성이 있음을 모든 HTML 태그를 제공하십시오. 예. <div id="myFirstDiv">. 문서에서 고유해야하며 일반적으로 의미있는 이름이어야합니다.

"div"는 태그 이름이므로 getElementsByTagName("div");으로 샘플의 모든 div를 가져 와서 반복 할 수 있습니다.

관련 문제