jQuery:用 <img> 标签替换每个背景图像,保持源不变
jQuery: Replace each Background-Image with <img> tags leaving sources unchanged
如何用 class 名称替换每张背景图片:
backgroundPNGAcontain
div(class 名称 imgWrapper)和具有相同 url 来源的图像?
我很亲近。这是我的代码:
$( ".backgroundPNGAcontain" ).html( "<div class='imgWrapper'><img></div>" );
$( ".backgroundPNGAcontain" ).each(function() {
var url = $( this ).css('background-image');
url = url.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
$(".imgWrapper>img").attr("src", url);
$( this ).css( "background-image", "none" );
});
只是 $(".imgWrapper>img").attr("src", url);
不会通过正确匹配每张图片来更改源,而是找到最后一张背景图片并将每张图片设置为那个。
这里是 fiddle:https://jsfiddle.net/gd29wLu5/
您的代码正在用相同的属性替换 imgWrapper 下的所有图像。
而不是 $(".imgWrapper>img").attr("src", url);
尝试 $(this).children("img").attr("src",url);
尝试
$('.imgeWrapper').find('img').attr('src','/url');
如何用 class 名称替换每张背景图片:
backgroundPNGAcontain
div(class 名称 imgWrapper)和具有相同 url 来源的图像?
我很亲近。这是我的代码:
$( ".backgroundPNGAcontain" ).html( "<div class='imgWrapper'><img></div>" );
$( ".backgroundPNGAcontain" ).each(function() {
var url = $( this ).css('background-image');
url = url.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
$(".imgWrapper>img").attr("src", url);
$( this ).css( "background-image", "none" );
});
只是 $(".imgWrapper>img").attr("src", url);
不会通过正确匹配每张图片来更改源,而是找到最后一张背景图片并将每张图片设置为那个。
这里是 fiddle:https://jsfiddle.net/gd29wLu5/
您的代码正在用相同的属性替换 imgWrapper 下的所有图像。
而不是 $(".imgWrapper>img").attr("src", url);
尝试 $(this).children("img").attr("src",url);
尝试
$('.imgeWrapper').find('img').attr('src','/url');