我正在使用此代码获取div
的背景图片。
var bgImage = $('#content').css('backgroundImage');
这将返回url%28http://example.com/images/layout/content-trans.png%29
我知道你可以element.height()
来获取元素的高度而不附加px
(parseInt()
也可以),所以我想知道是否有类似的方法让jQuery获得实际背景图片减去url()
元数据。
我想我可以使用正则表达式,比如/url\((.*)\)/
,但我宁愿先知道是否有内置方法。
答案 0 :(得分:18)
url()是background-image值的一部分,所以我想你需要使用正则表达式替换。
var bgImage = $('#content').css('background-image').replace(/^url|[\(\)]/g, '');
参考:http://groups.google.com/group/jquery-en/browse_thread/thread/d866997cb206b35f
答案 1 :(得分:0)
类似的东西:
var imgUrl = 'http://example.com/images/layout/image.png';
var i = imgUrl.lastIndexOf("/");
var filename = imgUrl.substring(i, imgUrl.length - 1);
alert(filename);
纯JS术语
答案 2 :(得分:0)
这个简单的解决方案怎么样:
bgImage.slice(bgImage.lastIndexOf('/')+1, bgImage.length - 3)
答案 3 :(得分:0)
var url = /url\(\s*(['"]?)(.*?)\1\s*\)/g.exec(str)[2];
取自waitForImages jQuery plugin。我也是作者。