2012-05-25 41 views
10

我真的累了的語法是這樣的:jQuery的:。累了CSS()的CSS()的CSS()

.css('position','absolute').css('z-index',z-index) 
.css('border','1px solid #00AFFF').css('margin','-1px 0px 0px -1px') 
.css('left',pleft) 

我不知道是否有任何的方式來傳遞一個函數的所有參數,東西像:

.foo('position':'absolute','z-index':z-index, 
    'border':'1px solid #00AFFF','margin':'-1px 0px 0px -1px', 
    'left':pleft) 

非常感謝任何幫助。

+1

據透露,你的代碼無效。假設兩個變量都存在,'z-index'不是一個有效的變量名,而是'z'減去'index';否則就是錯誤。 – ThiefMaster

+0

這是http://api.jquery.com存在的問題。另外,如果你正在做很多內聯CSS更改,請設置一個樣式表,並簡單地使用'addClass(「myclass」);' –

+0

是的,這只是一個例子...我從來沒有這樣的變量:) – Anonymous

回答

34

是,傳遞一個對象來.css()(也mentioned in the docs):

.css({ 
    position: 'absolute', 
    left: pleft, 
    zIndex: 123 
    ... 
}); 

注意,您可以使用兩種語法用於密鑰:zIndex,即可以直接在JavaScript和'z-index'(使用大小寫混合的版本所需的報價爲-否則會破壞事情)。

對於總是相同的選項 - 您的情況可能是positionbordermargin - 對於通過class/id選擇器設置的經典CSS規則集,這可能是個不錯的主意。然後,您只需通過.css()設置剩餘(動態)選項。

+0

另外,請參閱示例在文檔中:http://api.jquery.com/css/#example-1-3 –

+0

謝謝!這是非常有用的,奇怪的是我再次錯過了文檔.. – Anonymous

9

在不同的類中定義的風格

CSS

.myCustomClass 
{ 
    position: absolute; 
    border: 1px solid #00AFFF 
} 

和JS

.addClass('myCustomClass'); 

這是非常簡單的管理,如果款式去太複雜

+1

不回答他的問題,如果他需要一些動態值不起作用。他仍然需要'.css()'。 – ThiefMaster

+0

@ThiefMaster無論如何,對於某些情況下這是相當不錯的解決方案,值得一提:) – archil

+0

這是正確的ThiefMaster,我一直在使用類用於其他目的 - 但這不是 – Anonymous

0
$(element).css({'position':'absolute','z-index':zIndex, 
    'border':'1px solid #00AFFF','margin':'-1px 0px 0px -1px', 
    'left':pleft}); 
+0

使用.css({}); ... – Thulasiram

+0

仍然包含OP有的'z-index'錯誤。 – ThiefMaster