未捕获的TypeError:无法读取属性' length'在window.onload中为null

时间:2017-04-26 14:55:48

标签: javascript html5 google-chrome

我从网络资源中学习javascript代码,但我遇到了一些问题, 我的代码不起作用,我得到了一个' Uncaught TypeError ...'。我hava尝试了许多方法来解决错误,但它无法正常工作。

    <!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>

3 个答案:

答案 0 :(得分: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 :(得分:1)

var aDiv = document.getElementById('div'); 应该 var aDiv = document.getElementsByTagName('div');

&#13;
&#13;
 <!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>
&#13;
&#13;
&#13;

(注意:最好将JavaScript与html分开)

答案 2 :(得分:1)

Id是您为任何HTML标记提供的属性。例如。 pyspark.sql.DataFrame.checkpoint。它在文档中应该是唯一的,通常应该是一个有意义的名称。

“div”是一个标记名称,因此您可以使用<div id="myFirstDiv">获取样本中的所有div,然后循环遍历它们。