我在JS对象my.photo
中存储了base64编码的png。
我打算将它用作列表样式图像,但我不知道该怎么做。我尝试了以下方法:
var image = new Image();
image.src = 'data:image/png;base64,'+my.photo;
$('li').css({'list-style-image': image});
这不起作用。 firbug控制台显示以下样式:
element.style {
list-style-image: url("[object HTMLImageElement]");
}
如何使用JS或jQuery修复此问题?
答案 0 :(得分:2)
也许试试这个:
$('li').css({'list-style-image': 'url(' + image.src + ')'});
答案 1 :(得分:1)
// Credits: Duvdevan
$('li').css({'list-style-image': 'url(' + image.src + ')'});
由于这是JavaScript和you can do the same thing in many ways:
$('li').css('list-style-image', 'url(' + image.src + ')');
$('li').css('list-style-image', 'url(♥)'.replace('♥', image.src));
在您的问题中,您不需要所有代码,new Image()
,image.src =
,...
$('li').css(
'listStyleImage',
'url(data:image/png;base64,♥)'.replace('♥', my.photo)
);
答案 2 :(得分:0)
那是因为你将整个对象作为参数传递而不仅仅是字符串(实际上你不需要在这里创建一个对象)。你也忘记了url("..")
部分。因此,对于其余代码,最后一行应为:
$('li').css({'list-style-image': 'url("' + image.src + '")'});