Javascript 如何从相对URL获取Css背景图像URL文本?

Javascript 如何从相对URL获取Css背景图像URL文本?,javascript,css,background-image,Javascript,Css,Background Image,我想获取背景图像URL的文本。 预期产出: 123 http://123.com (It is empty) 但实际产出: $('p1').html($('bg1').css('background-image').replace('url(','').replace('),'').replace(/\“/gi,”)); $('p2').html($('bg2').css('background-image').replace('url(','').replace('),'').repla

我想获取背景图像URL的文本。 预期产出:

123
http://123.com
 (It is empty)
但实际产出:

$('p1').html($('bg1').css('background-image').replace('url(','').replace('),'').replace(/\“/gi,”));
$('p2').html($('bg2').css('background-image').replace('url(','').replace('),'').replace(/\“/gi,”));
$('p3').html($('bg3').css('background-image').replace('url(','').replace('p3'),'').replace(/\“/gi,”);


使用一个正则表达式可以更轻松地执行此操作:匹配
url
和左括号,捕获单引号或双引号,然后捕获并延迟重复字符,直到到达下一个单引号或双引号:

const getUrl=str=>str.match(/url\([“])(.*?\1\)/)[2];
$('a')。每个(('a)=>console.log(getUrl(a.style.backgroundImage))


您的意图是什么?谢谢
a.style.backgroundImage
救了我!但是JQuery怎么办?有没有办法避免使用
每个
函数或强制转换到DOM对象?请参见编辑,改用
querySelectorAll
——如果不想使用JQuery,绝对不需要JQuery!您在这里所做的是检查
style
属性的值,您的正则表达式没有比OP的string的manip做得更好。他们所做的错误(?)是检查
css()
@CertainPerformance返回的计算值。也许你误解了,我依赖JQuery。看编辑,我解决了。感谢