2013-07-18 25 views
0

我使用jQuery來設置div的背景,我想在支持它的瀏覽器中使用rgba顏色,但如果他們不想我使用rgb顏色作爲後備。我知道如何用普通的CSS來實現這一點。jQuery內聯風格rgb回退rgba顏色IE 8

style="background: rgb(250, 0, 0); background: rgba(250, 0, 0, 0.5);" 

你知道我如何能與jQuery .css()實現這一目標?

回答

4

我相信如果你使用css(),它會覆蓋一個屬性之前的值。如果您想要這樣做,您可以通過attr()手動設置它,或者您可以使用回調函數來查看它是否是IE,並相應地設置該值。

使用.css()

$('element').css('background', function() { 
    // if you're using jquery version < 1.9 
    if($.browser.msie && parseInt($.browser.version, 10) === 8) 
    return 'rgb(250, 0, 0);'; 
    else 
    return "rgba(250, 0, 0, 0.5)"; 
}); 

注意使用attr()

$('element').attr('style','background: rgb(250, 0, 0); background: rgba(250, 0, 0, 0.5);'); 

:如果你使用jQuery 1.9版本或以上,$.browser被刪除,所以你將需要檢測IE8以不同的方式。

-3

你要通過CSS有兩個參數

$(this).css("background-color", "rgb(255, 255, 255)"); 
+0

我一定是誤解了這個問題。這是你如何設置元素的CSS與jQuery ... – Matt

+0

現在怎麼樣rgba?我想讓rgb的顏色作爲回退 – theliberalsurfer

+0

如果是你想要的rgba,你可以用rgba替換rgb。 a當然是雙重價值。 – Matt