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

如何使用jQuery实现点击指定图片完成图片资源替换的功能

解决方案

核心问题说明

原有代码逻辑与需求反向:点击源图片时直接批量修改所有素材图片的src,不符合「先选中待修改的源图片、再选中替换素材,最终替换源图片内容」的预期。

实现思路

  • 声明全局临时变量,存储当前选中的待替换源图片元素
  • 点击源图片时,记录当前选中元素,可添加视觉标识(如边框)提示用户当前选中状态
  • 点击素材图片时,若存在已选中的源图片,直接将源图片的src替换为当前点击的素材图片的src即可完成需求

完整优化代码

HTML 部分(修正了原代码中tr直接嵌套在div中的不规范结构,同时给源图片新增公共类方便绑定事件)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<style>
/* 可选:选中的源图片加边框提示 */
.source-img.active {
  border: 2px solid #f00;
}
</style>

<table>
  <tr>
    <td><img src="https://avatarko.ru/img/avatarka/100na100/mults_dobicha_ognya.gif" class="source-img" id="img-1"></td>
    <td><img src="https://avatarko.ru/img/avatarka/100na100/animaciya.gif" class="source-img" id="img-2"></td>
  </tr>
</table>

<table>
  <tr>
    <td><img src="https://avatarko.ru/img/avatarka/100na100/risunki_svecha.gif" class="click-img" id="select-1"></td>
    <td><img src="https://avatarko.ru/img/avatarka/100na100/risunki_svecha.gif" class="click-img" id="select-2"></td>
  </tr>
</table>

JS 部分

$(document).ready(function() {
  // 存储当前选中的待替换源图片
  let selectedSource = null;

  // 绑定所有源图片的点击事件
  $('.source-img').click(function() {
    // 清除其他源图片的选中状态
    $('.source-img').removeClass('active');
    // 记录当前选中的源图片
    selectedSource = $(this);
    // 加选中样式
    $(this).addClass('active');
  });

  // 绑定所有素材图片的点击事件
  $('.click-img').click(function() {
    // 判断是否已经选中了待替换的源图片
    if (selectedSource) {
      // 替换源图片的src为当前点击的素材图片的src
      selectedSource.attr('src', $(this).attr('src'));
      // 可选:替换完成后清除选中状态
      $('.source-img').removeClass('active');
      selectedSource = null;
    }
  });
});

方案优势

  • 扩展性强:后续新增源图片或者替换素材,仅需要给对应元素添加对应的source-img/click-img类名即可,无需修改JS逻辑
  • 交互友好:新增选中状态提示,避免用户误操作
  • 代码精简:消除了原代码中重复绑定事件的冗余逻辑,可维护性更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:03:03