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

JavaScript中使用data属性修改图片SRC无效的问题

问题排查与修正方案

我来帮你梳理下代码里的问题,这几个小细节导致了功能失效,咱们一步步调整:

1. 错误选中元素

你在点击事件里用 $('.color-click') 获取的是所有带这个类的按钮,而不是当前被点击的那一个。应该用 $(this) 来指代触发点击事件的元素,这样才能拿到对应按钮的 data-pic1 值。

2. data 属性获取方式优化

虽然 attr('data-pic1') 能拿到值,但jQuery的 data() 方法更适配data属性的读取,它会自动处理属性名的命名规则(比如 data-pic1 可以直接用 data('pic1') 获取),代码更简洁可靠。

3. 路径转义问题

你的 data-pic1 里用了反斜杠 \,在HTML中这是转义字符,会导致路径解析错误,应该改成正斜杠 /。


修正后的完整代码

HTML部分(修正路径)

<button data-pic1="images/logo.ppg" id="circle" class="color-click">点击切换图片</button>

JavaScript部分(修正元素选择与属性读取)

$(".color-click").click(function() {
  // 获取当前点击按钮的data-pic1值
  var piccolor1 = $(this).data('pic1');
  // 给目标图片设置新的src
  $('#products-products-small').attr('src', piccolor1);
});

额外验证点

  • 确认目标图片元素 #products-products-small 确实存在于页面中,且选择器拼写无误;
  • 检查 images/logo.ppg 文件是否存在于正确的目录下,路径是否匹配。

内容的提问来源于stack exchange,提问作者RO.IT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:14:08