使用ERB在Javascript中设置CSS背景图像路径
我试图在javascript文件中使用erb设置元素的背景图像使用ERB在Javascript中设置CSS背景图像路径,javascript,ruby-on-rails,ruby,erb,Javascript,Ruby On Rails,Ruby,Erb,我试图在javascript文件中使用erb设置元素的背景图像 document.getElementById("logo").style.backgroundImage = "<%= asset_path('logo.png') %>"; document.getElementById(“logo”).style.backgroundImage=“”; 但是图像没有显示出来 当我在浏览器上检查元素并访问为图像生成的url时,图像就会出现 当我将backgroundImage更改
document.getElementById("logo").style.backgroundImage = "<%= asset_path('logo.png') %>";
document.getElementById(“logo”).style.backgroundImage=“”;
但是图像没有显示出来
当我在浏览器上检查元素并访问为图像生成的url时,图像就会出现
当我将backgroundImage
更改为backgroundColor=“red”
时,它会工作
因此,如果路径正确,并且用于设置元素样式的js可以工作,那么问题出在哪里?您应该使用css来实现这一点
.logo {
background-image: '/assets/images/logo.png'
}
作为替代方案,您可以在布局或页面erb文件中使用突兀的Javascript:包括标记并使用ruby嵌入式代码。您应该使用css来实现这一点
.logo {
background-image: '/assets/images/logo.png'
}
作为替代方案,您可以在布局或页面erb文件中使用突兀的Javascript:包括标记并使用ruby嵌入式代码。这不起作用,因为它不是正确的语法,您缺少
url
部分
document.getElementById("logo").style.backgroundImage = "url(<%= asset_path('logo.png') %>)";
document.getElementById(“logo”).style.backgroundImage=“url()”;
这应该可以奏效;)
但是,为什么要使用javascript而不是CSS来做这样的事情呢?这不起作用,因为它的语法不正确,您缺少了
url
部分
document.getElementById("logo").style.backgroundImage = "url(<%= asset_path('logo.png') %>)";
document.getElementById(“logo”).style.backgroundImage=“url()”;
这应该可以奏效;)
然而,为什么要使用javascript而不是CSS来做这样的事情呢?@OhHendrie如果我不介意的话,我会删除这条评论,指南中说在javascript文件中使用ERB。为什么需要这样做?阅读并返回plzYou绝对可以在JS视图文件中为呈现的JS使用ERB。@OhHendrie如果我是uno,我会删除该注释。在该指南中,哪里说要在javascript文件中使用ERB。为什么需要这样做?阅读并返回plzYou绝对可以在JS视图文件中为渲染的JS使用ERB。谢谢。这只是更大功能中的一行。谢谢。这只是更大函数中的一行。