2012-03-15 74 views
1

我目前使用JQuery爲容器分配顏色。如何通過在Firefox(jQuery)上保留背景顏色的十六進制值

在Chrome和IE中,當我獲得innerHTML時,背景色保持爲「background-color:#333333」。但在Firefox中,它被替換爲「background:none repeat scroll 0%0%rgb(X,X,X)」。

問題是,我在表單提交中使用html,我想保留background-color表示法,因爲在Hotmail這樣的電子郵件中,background從內容中刪除。

現在,我認爲最好的解決方案可能是使用「bgcolor」而不是css background-color。

有人可以幫助我嗎?謝謝。

回答

0

你可以嘗試設置樣式直接在DOM元素上,看看是否能給出正確的結果在Firefox:

$('#YOUR_ID').get(0).style.backgroundColor = '#333333'; 
+0

只要使用的document.getElementById( 'YOUR_ID')。style.backgroudColor ... – 2012-03-15 14:18:10

+0

誠然,對於一個元素與ID,SKS例子是最快的。如果您有多個元素,您必須使用.each(),例如$('div.colorize')。each(function(){this.style.backgroundColor ='#333333';}); – SJFrK 2012-03-15 14:25:29

+0

它似乎沒有工作。在我的each()循環中,我使用'jQuery(this).get(0).style.backgroundColor = value;'當我檢查元素時,我仍然得到'background:none repeat scroll 0%0%rgb(204 ,53,53);' – Matrix818181 2012-03-15 14:45:31

0

剛剛發現使用.attr()方法的好方法有沒有運氣後其他解決方案。這隻在設置單個樣式屬性時纔有用,但是,因爲它會覆蓋現有的內聯樣式。

$(element).attr('style', 'background-color: #f00'); 
相關問題