js取得background属性url的值--移动端【踩坑】

时间:2022-12-17 03:58:02

获取一个图片的地址(该图片的路径是写在css的background-img属性中的),一般实现方式:

var topimg = $(".topbg").css("backgroundImage");
alert(topimg);

获取的是包含url(“xxx.jpg”)形式的值,获取url内的值,实现方式如下:

var topimg = $(".topbg").css("backgroundImage");
topimg = topimg.split('(')[1].split(')')[0];
alert(topimg);

在这里一般的安卓手机和ios手机都是无法实现的,alert的内容是包含双引号的图片地址,不是纯图片地址,于是还需要去掉双引号:

var topimg = $(".topbg").css("backgroundImage");
topimg = topimg.split('("')[1].split('")')[0];
alert(topimg)

在这里就可以获取到background-image的图片地址了。

但是,这里有一个坑。。

在iphoneX上依然无法获取到background-image的图片地址,经过不断的断点调试,发现,

在iphoneX上的background-image的值是不包含双引号的:url(image.png);而在其他手机上background-image的值是包含双引号的:url("image.png"),

于是将代码做出如下调整即可实现:

var topimg = $(".topbg").css("backgroundImage");
topimg = topimg.split('(')[1].split(')')[0];
if(topimg.indexOf('"') > -1){
topimg = topimg.split('"')[1].split('"')[0];
}

转载时请注明出处及相应链接,本文永久地址:https://www.cnblogs.com/wangxiaoling/p/9958936.html,文章标题备注转载,如:xxx【转载】,谢谢!