Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将所有图像替换为元素';s自己的id+。jpg_Jquery - Fatal编程技术网

Jquery 将所有图像替换为元素';s自己的id+。jpg

Jquery 将所有图像替换为元素';s自己的id+。jpg,jquery,Jquery,什么是替换某些元素上的所有背景图像的好方法,每个元素都有自己的id+“.jpg”?使用jquery 我是否需要使用$.each,或者我是否可以编辑此项以便以某种方式工作: $(".element").css("background-image", "url(img/" + $(this).data("id") + ".jpg)"); // it sets undefined.jpg, $(this) is not the way 编辑PS:数据(“id”)不是打字错误。我在元素上使用data.

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

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

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

编辑PS:数据(“id”)不是打字错误。我在元素上使用data.id

您可以使用的setter版本采用a,然后从该函数返回样式值

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

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

您可以使用的setter版本采用a,然后从该函数返回样式值

$(".element").css("background-image", function () {
    return "url(img/" + $(this).data("id") + ".jpg)"
});
$('.element').each(function (index, element) {
    $(element).css("background-image", "url(img/" + $(element).attr('id') + ".jpg)");
});
在您的情况下,
将引用编写代码时所处的函数上下文,而您需要引用当前的
.element
元素。

您可以为此使用each()

$('.element').each(function (index, element) {
    $(element).css("background-image", "url(img/" + $(element).attr('id') + ".jpg)");
});
$( ".element" ).each(function( index ) {
    $(this).css("background-image", "url(img/" + $(this).attr("id") + ".jpg)");
});
您可以为此使用each()

$( ".element" ).each(function( index ) {
    $(this).css("background-image", "url(img/" + $(this).attr("id") + ".jpg)");
});

如果有多个元素,最好使用每种方法

$(".element").each(function(){
    $(this).css("background-image", "url(img/" + $(this).attr("id") + ".jpg)");
});

如果有多个元素,最好使用每种方法

$(".element").each(function(){
    $(this).css("background-image", "url(img/" + $(this).attr("id") + ".jpg)");
});

@mowgli如果您可以修改html,使其具有内联css,而不依赖于脚本,这会更好,但是如果您必须这样做,那么这是一个很好的方法。我以前有内联css,但我需要使用jquery。而且这个网站依赖于javascript,所以这是一个小错误。您需要使用.attr('id'),而不是.data('id')@vishwanath No;)我在元素上使用数据id,而不是id@vishwanath,仅当他是指使用元素ID时。在他的问题中,它看起来像是使用来自jQuery数据存储或元素数据属性的ID。@mowgli如果您可以修改html使其具有内联css而不依赖于脚本,则会更好,但如果您必须这样做,则这是一个很好的方法Yes ok。我以前有内联css,但我需要使用jquery。而且这个网站依赖于javascript,所以这是一个小错误。您需要使用.attr('id'),而不是.data('id')@vishwanath No;)我在元素上使用数据id,而不是id@vishwanath,仅当他想使用元素ID时。在他的问题中,它看起来像是使用jQuery的数据存储或元素data-attr中的ID。请详细说明您的答案,展示id做什么以及它如何解决问题-这将帮助其他人在未来看到你的答案请详细说明你的答案,展示id做什么以及它如何解决问题-这将帮助其他人在未来看到你的答案