jQuery:如何使用base64图像对象作为list-style-image

时间:2014-11-23 10:43:36

标签: javascript jquery css base64

我在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修复此问题?

3 个答案:

答案 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 + '")'});