所以我有下面的代码,而这一切工作完全正常,除了.css('background-image')
变化。你会看到url("");
是空的。不知道为什么,我希望也许有人可以快速查看,让我知道什么可能是错的?我只提供了代码,因为除了这一块外,其他所有工作都可以使用。jQuery的背景图像JSON的问题,URL(“”)追加为空
HTML(后jQuery的已追加的话):
<td class="RarityBG" style="background-image: url("");">
<img src="img/trinket/trinket01.png">
</td>
的jQuery(注意,html的追加工程100%):
var trinketJSON
$.getJSON('js/trinket.json', function (data) {
trinketJSON = data;
console.log(trinketJSON);
$.each(trinketJSON, function(i, item) {
$('<tr>').html(
"<td class='RarityBG'><img src='" + trinketJSON[i].TrinketIMG + "' /></td><td>" + trinketJSON[i].TrinketName + "</td><td>" + trinketJSON[i].Rarity + "</td><td>" +
trinketJSON[i].EffectOne + "</td><td>" + trinketJSON[i].EffectTwo + "</td><td>" + trinketJSON[i].EffectThree + "</td><td>"
+ trinketJSON[i].SetBonus + "</td>").appendTo('#trinketsTable');
$('.RarityBG').css('background-image', 'url(' + trinketJSON[i].RarityBG + ')');
});
});
JSON:
{
"TrinketIMG": "img/trinket/trinket01.png",
"TrinketName": "Trinket 01",
"Rarity": "Common",
"RarityBG": "img/trinket/rarity_common.png",
"EffectOne": "+4 ACC",
"EffectTwo": "-1 SPD",
"EffectThree": "",
"SetBonus": ""
}
看起来你并没有在引号中包裹'trinketJSON [i] .RarityBG'。我会从那里开始,看看它是否更喜欢你的HTML。 –
如果你尝试'console.log(trinketJSON [i]);'在你的'.each'循环中,你会得到什么? 另外,我不喜欢在动态创建的html中编写内联样式,而更喜欢现有的css类,然后将该类添加到元素中。反正更容易维护;特别是如果您必须稍后再重复一次。 – Difster
@Difster我得到所有JSON项目的日志,所以这个工程。它还显示我的RarityBG项目。 – dbrree