从background-image属性获取URL

Ozz*_*zzy 9 javascript regex jquery trim

我目前正在使用它从background-image属性获取url:

var url = $(this).find('div').css('background-image');
url = url.substr(4, url.length - 5);
Run Code Online (Sandbox Code Playgroud)

这在一些浏览器(IE6-9)中工作正常,而不是它:

url(http://.com/)
Run Code Online (Sandbox Code Playgroud)

它的

url("http://.com/)
Run Code Online (Sandbox Code Playgroud)

是否有一种故障保护方式只能获取此属性的URL?无需进行浏览器检测或其他一些东西?

Fel*_*ing 42

你可以这样做:

url = url.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
Run Code Online (Sandbox Code Playgroud)

这将删除url('url("从字符串的开头(如果它存在)和")resp.')从最后.

  • @Ozzy:这是一个很好的答案,但我不会称之为"故障保险",因为如果有人接管您的项目并开始使用多个背景...... (3认同)