Javascript 如何获取div上的背景源

Javascript 如何获取div上的背景源,javascript,jquery,html,jquery-cycle,Javascript,Jquery,Html,Jquery Cycle,可能重复: 我正在使用,我想创建一个寻呼机/缩略图 HTML <div id="slide"> <div class="panel" id="product"> </div> </div> 我的图像在div的背景上,而不是div本身 JS调用 pager:“#拇指”, pagerAnchorBuilder:函数(idx,幻灯片){ 返回“”; }, 返回“” 我正试图抓取产品上的背景图像。因此,与其返回+slide.src+,我应

可能重复:

我正在使用,我想创建一个寻呼机/缩略图

HTML

<div id="slide">
  <div class="panel" id="product">

  </div>
</div>

我的图像在div的背景上,而不是div本身

JS调用

pager:“#拇指”,
pagerAnchorBuilder:函数(idx,幻灯片){
返回“
  • ”; },

    返回“
  • 我正试图抓取
    产品
    上的背景图像。因此,与其返回
    +slide.src+
    ,我应该用什么来替换它

    以上是图像的来源。如何获取div上的背景源而不是图像源

    我的图像位于div上,不在
    标记内


    **谢谢**

    无法100%确定要在哪个div上使用背景图像,以及要在哪里使用背景图像,但是

    css('background-image')
    将为您提供产品div的背景图像的URL

    因此,在下面的代码中,我认为您需要将其更改为:

    pager:'#thumbs', pagerAnchorBuilder: function(idx, slide) { return '<li><a href="#"><img src="' + $("#product").css("background-image") + '" width="50" height="50" /></a></li>'; },
    
    pager:'#拇指',pagerAnchorBuilder:function(idx,slide){return'
  • '},
    最终答案,感谢rsp:

    pager:'#thumbs', pagerAnchorBuilder: function(idx, slide) { return '<li><a href="#"><img src="' + $("#product").css("background-image").replace('url(', '').replace(')', '') + '" width="50" height="50" /></a></li>'; }
    
    pager:'#拇指',pagerAnchorBuilder:function(idx,slide){return'
  • '}
    如果没有jquery,这将是

     document.getElementById("slide").style.backgroundImage="url('xxx.png')";
    

    您可以使用以下工具获取div的背景:

    var url = $('#yourid').css('background-image')
                          .replace('url(', '')
                          .replace(')', '');
    
    您需要删除“url('and')”,因为CSS属性如下所示:

    url(http://www.example.com/image.jpg)
    

    这可能会有帮助

    你能更具体地说明你想要什么样的背景吗?我编辑了这个问题@Rahulmore我不认为它是重复的,因为它使用的是jQuery库。Dixon(以及rsp和Rahul)提供了完全相同的解决方案,如何从CSS值中提取URL,所以我认为它是重复的。它不起作用,因为
    背景图像
    CSS属性的格式是
    URL(http://www.example.com/image.jpg)
    所以你需要删除“url(“and”)”——看看我的答案。好的,没想到!这几乎奏效了。不过,它也抓住了URL
    pager:“#拇指”,pagerAnchorBuilder:function(idx,slide){return'
  • ';}后的括号,这会有用的,多亏了rsp。我感谢大家的帮助@rsp我会接受这个答案并投你的一票。
    var url = $("#product").css('background-image');
    
    url = url.replace(/^url\(["']?/, '').replace(/["']?\)$/, '');
    
    alert(url);