2017-09-23 68 views
0

我寫了一個函數,使用jQuery的.css,只是傳遞元素,CSS屬性和CSS值。Javascript功能與jQuery的CSS不起作用(沒有錯誤)

下面是函數:

function addCss(element, cssProperty, cssValue) { 
    $(element).css({ cssProperty: cssValue }); 
} 

這裏是一個例子用法:

addCss('.container','flex-direction', 'row'); 

出於某種原因,它什麼都不做。

我是我缺少的東西還是語法錯誤?

回答

4

嘗試$(element).css({ [cssProperty]: cssValue });

+0

@ max2020來解釋這一點,你的代碼是行不通的,因爲它總是試圖建立CSS屬性'「cssProperty」',而不是使用變量'cssProperty'的實際值。 –

2

你需要建立你的對象分開,如果你在一個支持ES6計算的屬性名稱的環境是。

function addCss(element, cssProperty, cssValue) { 
    var rule = {}; 
    rule[cssProperty] = cssValue; 
    $(element).css(rule); 
}