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

使用jQuery为图片类追加src属性报错,请求技术帮助

解决jQuery设置图片src属性的语法错误问题

这个错误的根源有两个:一是你用错了jQuery方法,二是Blade模板语法和JS字符串的引号冲突导致解析错误。下面一步步帮你解决:

错误原因分析

  1. 方法使用错误:append()方法是用来向元素内部追加内容(比如子元素、文本)的,而不是用来设置HTML属性的。要设置图片的src属性,你应该用attr()或者prop()方法。
  2. 语法解析错误:你把Laravel Blade的{!! asset(...) !!}语法直接嵌套在了JS单引号字符串里,导致JS引擎无法正确解析这个模板语法,把pmc_assets当成了未定义的标识符,从而抛出语法错误。

修正后的解决方案

方案1:直接使用attr()设置属性(引号正确嵌套)

保持你的HTML不变:

<img class="img-status">

修改JS代码为:

$('.img-status').attr('src', '{!! asset("pmc_assets/img/online.png") !!}');

这里把asset()里的单引号换成双引号,避免和外层包裹Blade语法的单引号冲突,Blade会先渲染出正确的图片URL,再传递给jQuery的attr()方法设置到图片上。

方案2:先定义URL变量(更清晰易维护)

如果你的JS代码较长,推荐先把Blade渲染好的URL存成一个变量,再使用:

<img class="img-status">

<script>
// 先让Blade渲染出图片URL,存在变量里
const onlineImageUrl = '{!! asset("pmc_assets/img/online.png") !!}';
// 再用jQuery设置src属性
$('.img-status').attr('src', onlineImageUrl);
</script>

这样修改后,既解决了语法错误,又正确实现了给图片设置src属性的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:01:26