我有三个div,如下所示。
<div id="div#product_img_wrapper">
<div id="product_design1" class="timage" style="z-index: 20; background-image: url('');"></div>
<div id="product_design2" class="timage" style="z-index: 20; background-image: url('');"></div>
<div id="product_design3" class="timage" style="z-index: 20; background-image: url('');"></div>
</div>
我使用下面的jquery函数来循环上面的div,如下所示。
jQuery('div#product_img_wrapper div').each(function(){
var background = jQuery(this).css('background-image').replace('url(','').replace(')','');
if(background != 'none')
{
console.log(jQuery(this));
console.log(background);
}
});
输出
"http://localhost/project/index.php?option=com_project&controller=project&task=project&method=1"
"http://localhost/project/index.php?option=com_project&controller=project&task=project&method=1"
"http://localhost/project/index.php?option=com_project&controller=project&task=project&method=1"
我要做的是获取每个div的background-image属性。但它返回我的浏览器显示的URL?上面的代码有什么问题?为什么jQuery(this).css('background-image')返回浏览器URL?
答案 0 :(得分:3)
url('')
是一个解析为“here”的相对网址。
您正在获取指定的网址,只是解析为绝对格式,而不是您输入的原始相对格式。
答案 1 :(得分:0)
网址是相对的,并且设置为绝对值。
你应该写这个来获得背景:
var background = jQuery(this).css('background-image').replace('url(' + location.href,'').replace(')','');