将所有图像替换为元素自己的id + .jpg

mow*_*gli 0 jquery

替换某些元素上的所有背景图像的好方法是每个元素自己的id +".jpg"?使用jquery

我是否需要使用$ .each,或者我可以编辑它以某种方式工作:

$(".element").css("background-image", "url(img/" + $(this).data("id") + ".jpg)");
// it sets undefined.jpg, $(this) is not the way
Run Code Online (Sandbox Code Playgroud)

编辑PS:数据("id")不是拼写错误.我在元素上使用data.id

Aru*_*hny 5

你可以使用.css()的setter版本,它将一个函数作为第二个参数,然后从该函数返回样式值

$(".element").css("background-image", function () {
    return "url(img/" + $(this).data("id") + ".jpg)"
});
Run Code Online (Sandbox Code Playgroud)

在您的情况下,this将引用您编写代码的函数的上下文,而不是需要引用当前.element元素.