获取背景图片的$('#id').attr('src')

X10*_*0nD -4 javascript jquery

我想使用jquery在div中获取背景图像.我试过了

var img = $('#id').attr('src');
Run Code Online (Sandbox Code Playgroud)

alert(img) 
Run Code Online (Sandbox Code Playgroud)

显示为null/undefined.

我也尝试了这个document.getElementById('elementId').src;但结果相同.

我也试过这个var img = $('#outer').css('background-image');显示为url(s/bg.jpg)

这有什么不对?

Ion*_*zău 5

background-image是一个CSS属性,所以使用.css方法:

var img = $('#id').css('background-image');
Run Code Online (Sandbox Code Playgroud)

上面的调用将返回计算出的样式属性(包含url(path)).要删除url部件,请使用正则表达式替换:

img = img.replace(/^url\(|\)$/g, "");
Run Code Online (Sandbox Code Playgroud)

您可以按如下方式单行操作:

var img = $('#id').css('background-image').replace(/^url\(|\)$/g, "");
Run Code Online (Sandbox Code Playgroud)

.css( propertyName )

获取匹配元素集中第一个元素的计算样式属性.