使用JS更改div背景图像的URL,但它链接到CSS样式表而不是图像

时间:2018-01-01 20:27:04

标签: javascript

我正在尝试使用JavaScript将div的background-image属性更改为不同的URL,编写一个函数来执行此操作并使用onHover事件调用该函数。但是,它没有按照我想要的方式运行,并且检查Firefox开发人员工具显示该URL实际上是我正在使用的样式表。关于可能导致这种情况的任何想法?

HTML

这是我调用该函数的地方。

<img class = "preview" src = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/389177/bacon3.jpg" alt = "Young Puppy" onmouseover = "upDate(this)" onmouseout = "unDo()">

这是我想要编辑的div。

<div id = "image">
    Hover over an image below to display here.
</div>

Javascript

function upDate(previewPic){
    document.getElementById(image).style.backgroundImage = "url('" + previewPic.src + "')";
}

1 个答案:

答案 0 :(得分:1)

我想你忘记了'

上的getElementById
function upDate(previewPic){
    document.getElementById('image').style.backgroundImage = "url('" + previewPic.src + "')";
}

您的拼写错误无效,但它会查找您的image变量的内容。像:

function upDate(previewPic){
    // Identical result using a variable
    let image_id = 'image'; 
    document.getElementById(image_id).style.backgroundImage = "url('" + previewPic.src + "')";
}