You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript结合下拉选框切换图片src失败求助

问题解决:下拉选框切换图片src失效

错误原因分析

  • 错误使用$代替document:你的项目未引入框架,$不是浏览器内置对象,$.querySelector会直接报错,需使用原生document.querySelector。
  • 给<option>绑定click事件不可靠:多数浏览器不会触发<option>的click事件,正确做法是监听<select>的change事件。
  • 变量名拼写错误:trunOffOption里的trun是拼写错误,应为turn。

修正后的代码

HTML(无需修改)

<img src="./images/bulboff.gif" class="bulb-image" alt="bulboff">
<select class="selectbox">
  <option value="Turn ON" class="bulb-on">Turn ON</option>
  <option value="Turn OFF" class="bulb-off">Turn OFF</option>
</select>

JavaScript

// 获取图片和下拉选框元素
const bulbImage = document.querySelector(".bulb-image");
const selectBox = document.querySelector(".selectbox");

// 监听下拉选框的change事件
selectBox.addEventListener("change", function() {
  // 根据选中的value切换图片src
  if (this.value === "Turn ON") {
    bulbImage.src = "./images/bulbon.gif";
  } else if (this.value === "Turn OFF") {
    bulbImage.src = "./images/bulboff.gif";
  }
});

额外优化提示

  • 直接修改src属性比setAttribute更简洁高效,原生DOM元素的src属性可直接赋值。
  • 用对象映射简化条件判断,代码更简洁:
const bulbImage = document.querySelector(".bulb-image");
const selectBox = document.querySelector(".selectbox");

const srcMap = {
  "Turn ON": "./images/bulbon.gif",
  "Turn OFF": "./images/bulboff.gif"
};

selectBox.addEventListener("change", function() {
  bulbImage.src = srcMap[this.value];
});

内容的提问来源于stack exchange,提问作者fedora

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:12:09