使用jQuery将src附加到图像类中

3
这是我的代码:
<img class="img-status">

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

然而,控制台给出了错误提示:

SyntaxError: 意外的标识符 'pmc_assets'。需要 ')' 结束参数列表。

请问有人能够帮忙解决吗?


你不能在JS/jQuery中使用PHP - 它们是具有自己语法的不同语言...如果你通过jQuery进行操作,只需使用绝对URL即可。 - treyBake
我还注意到你没有在资产括号内转义单引号,所以它会在那里停止附加...这也可能是为什么它不起作用的原因 :) 你可以使用\进行转义,例如:string ='my string doesn\'t even recognise the slasah' - treyBake
1个回答

6
假设JS代码写在blade文件中,你可以将asset的结果赋值给一个变量,并使用该变量来修改元素的src属性。
<script>

var source = "{!! asset('pmc_assets/img/online.png') !!}";

$('.img-status').attr('src', source);

</script>

更新:

如果它是在单独的JS文件中,你可以在blade文件中创建一个hidden输入字段,并在JavaScript中访问它的值。

demo.blade.php

<input type="hidden" name="image-source" 
       value="{{ asset('pmc_assets/img/online.png') }}" 
       id="image-source" />

demo.js

<script>

var source = $("#image-source").val();

$('.img-status').attr('src', source);

</script>

实际上它是写在一个单独的js文件中的。有什么想法吗?因为它只传递了字符串而没有获取url。 - Rob
1
@Rob,请检查更新后的答案,希望能解决您的问题。 - linktoahref

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接