2012-11-14 29 views
-2

我有三個div如下所示。爲什麼jQuery(this).css('background-image')返回瀏覽器URL?

<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函數來循環低於divs如下所示。

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的背景圖像屬性。但它返回給我這個瀏覽器顯示的URL嗎?上面的代碼有什麼問題?爲什麼jQuery(this).css('background-image')返回瀏覽器URL?

+0

您是否嘗試設置背景圖片網址?它在你的代碼中看起來空白 – ajtrichards

+0

爲什麼你會在你的id屬性裏面有'div#'?這肯定會混淆jQuery選擇器引擎 – devnull69

回答

3

url('')是解析爲「此處」的相對URL。

您正在獲取您指定的URL,只是解析爲絕對形式,而不是您輸入的原始相對形式。

0

URL是相對的,它被設置爲絕對。

你應該寫這讓背景:

var background = jQuery(this).css('background-image').replace('url(' + location.href,'').replace(')',''); 
+0

它不起作用 – Techie

+0

我的不好,我寫了'this.href'而不是'location.href'。 – Calvein

+0

仍然一樣。不過謝謝。我想到了 – Techie

相關問題