Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的var为null而代码不工作_Javascript_Html_Events - Fatal编程技术网

Javascript 为什么我的var为null而代码不工作

Javascript 为什么我的var为null而代码不工作,javascript,html,events,Javascript,Html,Events,我从JS中的基础知识开始,我尝试创建我的第一个事件,如果单击图像但它不工作,则更改图像,问题在哪里 let myImage = document.querySelector('img'); myImage.onclick = function() { let mySrc = myImage.getAttribute('src'); if(mySrc === 'images/coding_icon.png') { myImage.setAttribute ('src'

我从JS中的基础知识开始,我尝试创建我的第一个事件,如果单击图像但它不工作,则更改图像,问题在哪里

let myImage = document.querySelector('img');

myImage.onclick = function() {
    let mySrc = myImage.getAttribute('src');
    if(mySrc === 'images/coding_icon.png') {
      myImage.setAttribute ('src','images/coding2.png');
    } else {
      myImage.setAttribute ('src','images/coding_icon.png');
    }
}
我的var myImage返回NULL,当我点击我的图像时,什么也没有发生。似乎文档选择器没有选择img的第一个出现。对不起,如果我的帖子有问题,这是我第一次在这里发帖。
谢谢

在img真正加载到DOM之前,您可能正在img上使用querySelector

可能的解决办法:

1在img标记声明之后,在body标记中移动脚本

2在其他标签的事件上使用代码,例如在按钮上单击


3您可以在脚本周围设置一个超时,使其延迟运行,同时加载DOM

最常见的原因是您发布的代码放在HTML文档正文之前。若你们移动到最后,那个将解决那个特殊的问题。不可能!!!它工作!!!谢谢你,不管是男是女,你救了我,使我免于发疯!谢谢@Shinjuo您不需要这里的属性,最好使用属性:myImage.onclick=function{myImage.src=myImage.src==='images/coding_icon.png'?'images/coding2.png':'images/coding_icon.png';}我不确定您对第2点的意思。但在我看来,第三点是不行的。它可能会起作用,但不会,只是不会。