【发布时间】:2016-11-01 04:10:18
【问题描述】:
我在 HTML 中创建了一个选择菜单,当您更改列表中的选择时,它会更改图像的 src。我不断收到错误消息:“无法在控制台中设置属性 'src' of null”,并且图像没有出现。代码如下:
var panelOneType;
function gfsPanelOne() {
panelOneType = "gfs";
}
function cmcPanelOne() {
panelOneType = "cmc";
}
function navgemPanelOne() {
panelOneType = "navgem";
}
function nam12kmPanelOne() {
panelOneType = "nam12km";
}
function nam4kmPanelOne() {
panelOneType = "nam4km";
}
function wrfarwPanelOne() {
panelOneType = "wrf-arw";
}
function wrfnmmPanelOne() {
panelOneType = "wrf-nmm";
}
function rgemPanelOne() {
panelOneType = "rgem";
}
document.getElementById("panel1").src = "http://www.tropicaltidbits.com/analysis/models/" + panelOneType + "/2016062712/" + panelOneType + "_mslp_pcpn_frzn_us_1.png";
<select name="panel-1" class="model-select">
<option value="gfs" onchange="gfsPanel1()">GFS</option>
<option value="cmc" onchange="cmcPanel1()">CMC</option>
<option value="navgem" onchange="navgemPanel1()">NAVGEM</option>
<option value="nam-12km" onchange="nam12kmPanel1()">NAM 12km</option>
<option value="nam-4km" onchange="nam4kmPanel1()">NAM 4km</option>
<option value="wrf-arw" onchange="wrfarwPanel1()">WRF-ARW</option>
<option value="wrf-nmm" onchange="wrfnmmPanel1()">WRF-NMM</option>
<option value="rgem" onchange="rgemPanel1()">RGEM</option>
</select>
<img class="model-image" id="panel1" src="" />
有人知道我为什么会收到这个错误以及如何解决它吗?
【问题讨论】:
-
@CapitanFindus - 在其下方有一个
img元素,ID 为 -
这是因为设置
src的代码不在处理程序中。它在文档加载时立即运行。唯一会运行onchange的是事件处理函数内部的任何内容。 -
我怀疑你的 JavaScript 是内联在
<head>中的,而不是在页面加载时运行或其他什么? Thuis 意味着它将在img元素存在之前尝试设置src。无论何时panelOneType发生变化,您都需要运行它,因此在函数中(顺便说一下,在 HTML 中命名错误) -
“onchange”在“option”中起作用??
标签: javascript html src