使用JavaScript设置元素的样式无效

使用JavaScript设置元素的样式无效,javascript,styling,Javascript,Styling,我在button click上调用一个函数,它会更改被单击元素的父容器背景 HTML: <div class="btn-buy"> <div onclick="SingleUpgrade(this)"></div> </div> css: 使用命令console.log(elem.parentElement.style.backgroundImage)确认样式已经应用,但显然没有更改(我仍然看到未按下的按钮图像

我在button click上调用一个函数,它会更改被单击元素的父容器背景

HTML:

<div class="btn-buy">
           <div onclick="SingleUpgrade(this)"></div>
       </div>
css:

使用命令console.log(elem.parentElement.style.backgroundImage)确认样式已经应用,但显然没有更改(我仍然看到未按下的按钮图像)。为什么呢


URL是正确的,事实上我没有得到一个空的或损坏的图像,但它仍然是一样的(btn_buy而不是btn_buy)。我没有评论的名声,所以我在回答


javascript
文件中的
url
应该是相对于该文件的,而不是相对于
html
文件的。

url的样式正确吗?对我有用:你试过elem.parentElement.style.backgroundImage=“url('../img/panel/btn\u buy\u pressed.png')”?听起来像是您意外地将未按下的图像保存在按下的图像上?或者它仍然被缓存或者其他什么。url和路径都是正确的…如果你没有评论所需的声誉,那么不要使用答案来评论。你错了。使用JS修改DOM时,URL仍然与用于生成初始页面的HTML文件的URL相对。
function SingleUpgrade(elem) {
    elem.parentElement.style.backgroundImage = "url('img/panel/btn_buy_pressed.png')";
}
.btn-buy {
background-image: url('../img/panel/btn_buy.png');
}