2012-05-28 53 views
0

因此,我在BigCommerce平臺上工作,試圖更改頁面上某些標籤的背景圖片。我無法單獨使用CSS,因爲我無法編輯這些特定元素的HTML。下面是該頁面的鏈接,我試圖做到這一點的:更改背景圖片標籤...沒有任何發生

http://weddingsflowerpetal.mybigcommerce.com/a-vintage-affair-bouquet/

我試圖更改該說「白」,「黑」,「紅」標籤的背景等現在我有這樣的代碼:

document.getElementById("7eff70453e41b167e40002762d6195d7").style.backgroundImage="url('http://weddingsflowerpetal.mybigcommerce.com/templates/__custom/images/ribbons/blackribbon.png') no-repeat left"; 

而且我有一個每個標籤元素,將每個標籤元素更改爲正確的圖像。現在,當我將代碼放入頁面時,它不會給JS帶來錯誤,但圖像不會改變。

任何幫助,這將不勝感激。如果不是我的問題的解決方案,有沒有更簡單的方法來做到這一點,我還沒有考慮?

+0

的元素不應該以數字開頭。你還應該分別提供'background-repeat'和'background-position'屬性。 – alex

+0

糾正我,如果我錯了,但除了上面提到的幾點,我不認爲引號是必要的背景圖像名稱/地址。我正在把它放在css上,實際上它並不是必需的。另外,我似乎回想起[定位] [重複]而不是其他方式的順序。但是,如前所述,它們不能以這種方式包含在內。 – Digitalis

回答

0

我會從W3C所說的「ID和NAME標記必須以字母開頭([A-Za-z])」來看......看到Firefox是最符合標準的瀏覽器,它可能不起作用。在別人身上工作..這就是我開始調試的地方。

0

我認爲,因爲你在JS中設置backgroundImage屬性,但你要在URL之後添加其他CSS文本。應該 document.getElementById("7eff70453e41b167e40002762d6195d7").style.background='...'

document.getElementById("7eff70453e41b167e40002762d6195d7").style.backgroundImage='url...'; 然後 document.getElementById("7eff70453e41b167e40002762d6195d7").style.backgroundPosition='left'; 然後 document.getElementById("7eff70453e41b167e40002762d6195d7").style.backgroundRepeat='no-repeat';

然而,我注意到,該網站使用jQuery。所以,你可能能夠做這樣的事情:

$(document).ready(function() { 
    $("input[id='7eff70453e41b167e40002762d6195d7']") 
     .css("background-image", "url('http://weddingsflowerpetal.mybigcommerce.com/templates/__custom/images/ribbons/blackribbon.png')") 
     .css("background-repeat", "no-repeat") 
     .css("background-position", "left top"); 
}); 

或者你可以嘗試把它放在li

$(document).ready(function() { 
    $("input[id='7eff70453e41b167e40002762d6195d7']").closest("li") 
     .css("background-image", "url('http://weddingsflowerpetal.mybigcommerce.com/templates/__custom/images/ribbons/blackribbon.png')") 
     .css("background-repeat", "no-repeat") 
     .css("background-position", "left top"); 
});