通过jQuery根据数据属性附加背景图像?

时间:2014-12-01 14:15:55

标签: jquery html

我可能错过了一些基本的东西..哦,你们可能都知道。

为了让事情变得更有活力,我想让特定的对象通过其唯一的数据属性添加背景图像。他们的数据属性将是文件名,而路径将始终相同,已经在jQuery中打印。

我知道问题出在图片网址路径中,因为引号未在第一个' +'之前完成。但是如何修复?

Html:

<div class='FPNewsitem' data-imgname="hallo"></div>

jQuery

$(document).ready(function() {
    $('.FPNewsitem').each(function() {
        var itemImage = $(this).data("imgname");
        $(this).css("background-image", "url('../images/newsitems/" + itemImage + ".jpg');");
    });
});

我做错了什么?

更新:JSFiddle

2 个答案:

答案 0 :(得分:4)

*在OP改变代码之前给出了这个答案。

没有名为background-image的属性。您需要的是css,用于样式元素。使用我的代码时,您不需要;

$(this).css("background-image", "url('../images/newsitems/" + itemImage + ".jpg')");

Check out more about jQuery.css

答案 1 :(得分:1)

检查一下这可能有助于你

使用.css $(this).css  而不是attr

$(this).css

Jsfiddle