2017-04-26 23 views
-1

私はネットリソースからJavaScriptコードを学びますが、私はいくつかの問題に出会った。 私のコードは動作していないし、an'Uncaught TypeErrorを得ている。 .. '私はエラーを再現するために多くの方法を試してみるが、うまくいかない。Uncaught 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>

(注:それはあなたのJavaScriptがお使いのhtmlは別に持っているのがベストです)でなければなりません

1

Idがあなたの属性であります任意のHTMLタグを付けます。例えば。 <div id="myFirstDiv">。文書内で一意でなければならず、一般的に意味のある名前でなければなりません。

"div"はタグ名なので、getElementsByTagName("div");でサンプル内のすべてのdivを取得してループすることができます。

関連する問題