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

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

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

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

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

在这里通常的安卓手机和ios手机都是没法实现的,alert的内容是包含双引号的图片地址,不是纯图片地址,因而还须要去掉双引号:ios

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

在这里就能够获取到background-image的图片地址了。iphone

可是,这里有一个坑。。url

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

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

因而将代码作出以下调整便可实现:code

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

 转载时请注明出处及相应连接,本文永久地址:http://www.javashuo.com/article/p-qvacjdpp-eg.html,文章标题备注转载,如:xxx【转载】,谢谢!htm

相关文章
相关标签/搜索