使用javascript

时间:2018-12-30 00:52:06

标签: javascript html css arrays

我一直在尝试使用以下代码来更改图像的src

document.getElementById('test').src='images/test2.png';

我的代码如下所示。里面有一些CSS和其他内容,但是重要的部分是div和img以及函数。

<div id='splashScreen' class='splash'>
  <button class='bigButton' onclick='introSplash()'>Hi</button>
  <img class='splashImages' src='images/splashScreen1.png'>
</div>

这是我的图片,顶部有一个页面大小的透明按钮

<script>
function introSplash() {
    document.getElementById('splashImages').src='images/splashScreen2.png';
  }
</script>

此功能应替换按钮下方的图像。

按下带有此代码的按钮将返回以下错误消息:

未捕获的TypeError:无法将属性'src'设置为null 在introSplash

所有图像都保存在本地并以这些名称存在

我不确定为什么会发生这种情况,将不胜感激。

4 个答案:

答案 0 :(得分:1)

您需要将ID test添加到<img>元素:

<img id='test' class='splashImages' src='images/splashScreen1.png' />

现在您的代码可以使用了。

不添加任何ID的替代方法是像这样使用document.getElementsByClassName

document.getElementsByClassName('splashImages')[0].src='images/test2.png';

答案 1 :(得分:1)

请确认您使用的是document.getElementById('splashImages'),但是html元素没有ID。添加id属性

<img id="splashImages" class='splashImages' src='images/splashScreen1.png'>

请尝试一下,让我知道它如何工作:)

答案 2 :(得分:0)

您尝试通过id获取元素,但是仅给出class="splashImages"

答案 3 :(得分:0)

document.getElementById('splashImages')返回null,因为所需的元素没有正确的ID。请改用getElementsByClassName,或为其提供正确的ID。

因此,您应该实施以下更改之一:

<script>
function introSplash() {
    document.getElementsByClassName('splashImages').src='images/splashScreen2.png';
  }
</script>

<div id='splashScreen' class='splash'>
  <button class='bigButton' onclick='introSplash()'>Hi</button>
  <img id='splashImages' class='splashImages' src='images/splashScreen1.png'>
</div>