如何为 JSON 文件中的元素设置背景
How to set a background to an element from a JSON file
我正在尝试为我从 json 文件中抓取图像的几个按钮设置特定背景。我正在尝试将 css“背景”属性 应用于它以通过 javascript 完成此操作,但我不确定如何执行此操作。我用简单的颜色“红色”测试了当前代码,这工作得很好,但是当我尝试从 json 文件中提取它时,没有结果。对我可以做些什么来解决这个问题有什么帮助吗?这是我的代码:
const t = "js/test.json"
fetch(t)
.then(function (response) {
return response.json();
})
.then(function (jsonObject) {
var color = jsonObject['color'];
for (var i = 0; i < color.length; i++) {
var buttonColor = i;
if (buttonColor == 0 ) {
document.querySelector(".btn").style.background= color[0].image;
}
}
});
和我从中提取图像的 JSON 文件:
{
"color":[
{
"name": "red",
"image": "colors/red.png",
"small-image":"colors/red-small.png"
},
{
"name": "blue",
"image": "colors/blue.png",
"small-image":"colors/blue-small.png"
},
{
"name": "yellow",
"image": "colors/yellow.png",
"small-image":"colors/yellow-small.png"
},
{
"name": "green",
"image": "colors/green.png",
"small-image":"colors/green-small.png"
}
]
}
我最需要帮助的行是第 11 行,其中
document.querySelector(".btn").style.background= color[0].image;
找到了。
您可以设置背景图像 属性
document.querySelector(".btn").style.backgroundImage = `url(${color[0].image})`;
注意:文件的路径必须正确,所以现在它会查看是否有目录 colors 以及该目录中是否有名为 red.png 的 png .
要设置背景图片而不是颜色,您需要将图片的路径包装到 url() 函数中。
所以,而不是做:
document.querySelector(".btn").style.background = color[0].image;
你应该做的:
document.querySelector(".btn").style.background = `url(${color[0].image})`;
我正在尝试为我从 json 文件中抓取图像的几个按钮设置特定背景。我正在尝试将 css“背景”属性 应用于它以通过 javascript 完成此操作,但我不确定如何执行此操作。我用简单的颜色“红色”测试了当前代码,这工作得很好,但是当我尝试从 json 文件中提取它时,没有结果。对我可以做些什么来解决这个问题有什么帮助吗?这是我的代码:
const t = "js/test.json"
fetch(t)
.then(function (response) {
return response.json();
})
.then(function (jsonObject) {
var color = jsonObject['color'];
for (var i = 0; i < color.length; i++) {
var buttonColor = i;
if (buttonColor == 0 ) {
document.querySelector(".btn").style.background= color[0].image;
}
}
});
和我从中提取图像的 JSON 文件:
{
"color":[
{
"name": "red",
"image": "colors/red.png",
"small-image":"colors/red-small.png"
},
{
"name": "blue",
"image": "colors/blue.png",
"small-image":"colors/blue-small.png"
},
{
"name": "yellow",
"image": "colors/yellow.png",
"small-image":"colors/yellow-small.png"
},
{
"name": "green",
"image": "colors/green.png",
"small-image":"colors/green-small.png"
}
]
}
我最需要帮助的行是第 11 行,其中
document.querySelector(".btn").style.background= color[0].image;
找到了。
您可以设置背景图像 属性
document.querySelector(".btn").style.backgroundImage = `url(${color[0].image})`;
注意:文件的路径必须正确,所以现在它会查看是否有目录 colors 以及该目录中是否有名为 red.png 的 png .
要设置背景图片而不是颜色,您需要将图片的路径包装到 url() 函数中。 所以,而不是做:
document.querySelector(".btn").style.background = color[0].image;
你应该做的:
document.querySelector(".btn").style.background = `url(${color[0].image})`;