如何在JavaScript中获取元素的background-image
URL <div>
?例如,我有这个:
<div style="background-image:url('http://www.example.com/img.png');">...</div>
Run Code Online (Sandbox Code Playgroud)
我怎么会得到公正的网址background-image
?
我目前正在使用它从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?无需进行浏览器检测或其他一些东西?
目前正在运行chrome 14,它无法在我的登录页面上呈现旋转的gif图形.
以下是chrome中的页面:
以下是所有其他浏览器的外观:
重现:
http://trunk.test.openmile.com/login/#null
输入有效的电子邮件和密码并点击"登录",然后当出现黑色进度指示器时,点击STOP,这样浏览器就没有机会给你一个登录错误.
请注意,背景不会显示在chrome中.有趣的是,如果您检查元素,并将1px添加到背景图像位置,图像将变得可见.
对我来说闻起来像铬虫,但是有解决方法吗?
编辑:另一个非常奇怪的事情是:如果我alert
在显示此处理div的函数的末尾放置一个,在警报之后,背景图像变得可见.
我想使用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)
这有什么不对?