2013-02-05 323 views
0

分配CSS屬性上即時在jQuery是很容易做到。例如jQuery的動態CSS屬性分配

$('#element').css('fontWeight','bold'); 

但是,我目前需要做的動態分配相當麻煩。爲了有背景漸變分配在一系列瀏覽器的工作,我需要做的

background-image:-moz-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-webkit-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-o-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-ms-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 

$('#element').css('backgroundImage','value') 

一再呼籲,因爲jQuery將不起作用簡單的覆蓋先前寫的版本。這還能做什麼?

回答

0

你可以做類:

BackgroundClass 
{ 
background-image:-moz-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-webkit-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-o-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-ms-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
} 

這個類添加到元素:

$('#element').addClass("BackgroundClass"); 
+0

歡迎您任何時候:) –

3

的解決方案是創建一個類與所需的屬性,將其添加到您的樣式表,並使用.addClass動態分配類的元素。

CSS:

.gradientClass{ 
background-image:-moz-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-webkit-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-o-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:-ms-linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
background-image:linear-gradient(0deg,rgba(r,g,b,a),rgba(r1,g1,b1,a1) 10%); 
} 

的Jquery:

$('#element').addClass('gradientClass'); 
+0

+1。處理類名比直接操作CSS屬性更清潔。 –

+0

差不多一樣的第一個答案,所以我決定接受第一個。不管怎樣,謝謝你。 – DroidOS

+0

@DroidOS最上面的答案並不總是第一位的。事情只要P不管怎麼說犯規,你得到了你想要的功能:如果你檢查的時候我的是之前進行。 –