我从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,当我单击图像时什么也没有发生。似乎doc ... selector不会选择img的首次出现。抱歉,如果我对帖子做错了,这是我第一次在这里发布。 谢谢
答案 0 :(得分:2)
在将img真正加载到DOM之前,您可能已在其上使用querySelector。
可能的解决方案:
1)在img标签声明之后将脚本移动到body标签中。
2)对其他标签的事件使用代码,例如在按钮上单击
3)您可以在脚本周围放置超时,以使其延迟运行并可以同时加载DOM