javascript – TypeError:getElementById为null

<html>
    <head>
        <script type="text/javascript">
            var image = document.getElementById(image);
            var desc = document.getElementById(desc);
            var images = ["http://i.imgur.com/XAgFPiD.jpg", "http://i.imgur.com/XAgFPiD.jpg"]
            var descs = ["1", "2"]
            var num = 0;
            var total = images.length;
            function clicked(){
                 num = num + 1;
                 if (num > total){
                    num = 0;
                 }
                 image.src = images[num];
                 desc.innerHTML = images[num];
            }
            document.getElementById(submit).onclick(clicked());
        </script>
    </head>
<body>
    <div><h2>Project |</h2><h2> | herbykit</h2></div>
    <div>
        <button id="submit">Next</button><br/>
        <img id="image" src="http://i.imgur.com/XAgFPiD.jpg" height="20%" width="50%"/>
        <p id="desc">first desc.</p>
   </div>
</body>
</html>

行“document.getElementById(submit).onclick(clicked());”抛出错误
    “ReferenceError:未定义提交”

当我尝试访问按钮时
[通过getElementsByClassName&的getElementsByTagName]
它给出了一个错误“ReferenceError:按钮未定义”

在getElementById中使用字符串会抛出错误“getElementById为null”

我发现了几个问题和答案.

由于使用了PHP而且其他大多数错误都是错误的,因此我只知道如何实现.我发现的其他解决方案涉及数字错误.
在这个错误上,我尝试修复printwindow.document.getElementById(..等
这给了我一个错误“ReferenceError:printwindow没有定义”

解决方法:

浏览器会尽快运行JavaScript以加快渲染速度.所以当你收到这个代码时:

<html>
    <head>
        <script type="text/javascript">
            var image = document.getElementById(image); // Missing quotes, typo?

……在中间运行.没有< foo id =“image”>在页面上,所以你得到null.最后,您将获得呈现的其余页面,包括:

<img id="image" src="http://i.imgur.com/XAgFPiD.jpg" height="20%" width="50%"/>

对你的代码来说已经太晚了,它很久以前就完成了.

您需要绑定一个window.onload甚至处理程序并在DOM准备好时运行您的代码(或者将所有JavaScript移动到页面底部,在图片之后).

上一篇:javascript-野生动物园ReferenceError:找不到变量


下一篇:Javascript参考错误功能