作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 URL::asset 将 url 传递给 javascript而不是直接网址
$("select#lang").css("background-image", 'url(http://pascha.org/img/' + $("select#lang").val() + '.png)');
我想做这样的事情:
$("select#lang").css("background-image", '{{ URL::asset('/images/flags/') }}' + $("select#lang").val() + '.png)');
但这当然行不通,问题是如果可能的话它应该是什么样子。
最佳答案
为什么这行不通?
$("select#lang").css("background-image",
'{{ URL::asset('/images/flags/') }}' + $("select#lang").val() + '.png)');
它不起作用的唯一原因是如果您在 Blade 文件之外和单独的 JS 文件中执行此操作。除非我错过了什么?
如果你有一个单独的 JS 文件,你可以在你的 JS 文件在你的标记中声明之前在 Blade 文件中分配一些“全局”变量。
例如:
<script>
// "global" vars, built using blade
var flagsUrl = '{{ URL::asset('/images/flags/') }}';
</script>
<script src="your-js-file.js"></script>
然后在 your-js-file.js 中,您可以这样做:
$("select#lang").css("background-image",
flagsUrl + $("select#lang").val() + '.png)');
关于javascript - 如何在 jQuery 或 JS 中使用 Laravel URL::asset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39894158/
我是一名优秀的程序员,十分优秀!