2011-01-06 2 views
2

Wie die gleiche CSS-Eigenschaft ohne überschreiben und mehrere Male mit jquery anwenden?Wie die gleiche CSS-Eigenschaft ohne überschreiben und mehrmals mit jquery anwenden?

$(function() { 

    $("#hello").css({ 

    // Is there a way to apply both of these instead of having the second override the first? 

    "background-image" : "-webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999))", 
    "background-image" : "-moz-linear-gradient(top, #444444, #999999)" 

    }); 

});

Antwort

6

Trennen Sie jede "Direktive" mit einer ;.

$("#hello").css({ 
    "background-image" : "-webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999));-moz-linear-gradient(top, #444444, #999999)" 
}); 

Alternativ setzte es in eine einzelne CSS-Klasse, und tut es so viel schöner und überschaubare Weise:

.gradient { 
    -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999)); 
    -moz-linear-gradient(top, #444444, #999999); 
} 


$("#hello").addClass("gradient"); 
+1

Gehen Sie mit der CSS-Klasse. Es wird definitiv auf lange Sicht mit der Verwaltbarkeit helfen. – chprpipr

+0

Ich denke, es gab ein Problem mit einem MissPar nach der letzten Farbstopp-Eigenschaft in meiner obigen Antwort. Ich habe es repariert. – karim79

+0

Sorry, aber dieser JQuery-Trick funktioniert nicht. – Lastnico

Verwandte Themen