设置来自 javascript 的背景图像不起作用

Set backgroud image from the javascript not working

本文关键字:背景 图像 不起作用 javascript 设置      更新时间:2023-09-26

在我的javascript中,我的div svg如下:

var svg = d3.select("#"+settings.id).append("svg") 
        .attr("id", "svg")
                    .attr("width", width + margin.left + margin.right)
                    .attr("height", height + margin.top + margin.bottom)
                    .append("g")
                    .attr("transform", "translate(" + margin.left + "," + margin.top + ")");

然后我添加了

document.getElementById('svg').style.backgroundImage = 'url(myimageUrl)';

但它没有用

您没有将变量传递给,看起来myimageurl应该包含一个图像名称为"picture.jpg"的字符串,如果是这样,您可能不会在引号中传递变量,因为它是一个字符串。

document.getElementById('svg').style.backgroundImage = 'url('+myimageUrl+')';

对这个问题的另一种解释可能是:

这取决于执行更改背景颜色的行时的位置或更好。当你在将 svg 变量插入 DOM 之前对其进行 ecexute 时,它不会找到元素的 ID,所以一定要在那之后运行它。