javascript - 我如何编写 JQuery 函数来从内联样式 div 中获取背景图像并将其放入图像标签中?

标签 javascript jquery html function

如何编写一个函数,该函数将从 div 的内联样式中获取背景图像并删除该 div,并在其位置使用 <img>标签?

这是我的 div 的样子:

<div class="img_is" style="background-image: url(//domain.com/images/image1.png);"></div>

我将有几个这样的 div,并且每个 div 的 img 源都不同。

现在我如何编写一个函数来获取背景图像的 src 并将它们放入 <img src> 中并隐藏div?

我想到了这段代码,但无法真正弄清楚如何反转它。请帮忙。如果您发现问题或对此有任何疑问,请告诉我。

我的代码:

var images = $('li > img');
images.each(function(){
    $(this).parent().css('background-image', 'url(' + $(this).attr('src') + ')');
    $(this).hide(); // to hide it
    $(this).remove(); // to remove it from the markup
});

最佳答案

这是一个使用带有函数的 replaceWith 重载的选项:

http://jsfiddle.net/fQ2t3/

$('.img_is').replaceWith(function () {
    return $('<img/>', {
        src: $(this).css('background-image').replace(/url\(([^\)]+)\)/g, '$1')
    });
});

关于javascript - 我如何编写 JQuery 函数来从内联样式 div 中获取背景图像并将其放入图像标签中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19668985/

相关文章:

javascript - 从嵌套的对象数组中提取对象

jquery - 基本 CSS 特性在 IE8 中不起作用

javascript - 如何从 HTML 文件输入中删除 'All Files' 选项

javascript - 圆形背景无法放在图标周围

html布局 - 打破div

javascript - select2 和 select2 full 有什么区别?

javascript - sweetAlert 的返回值

html - 如何避免跨度大小影响父级的 CSS

javascript - 为什么javascript无法获取表单值?

javascript - AngularJS 如何从另一个 Controller 调用 div 上的 ng-show