2016-06-22 70 views
0

有沒有辦法將新的屬性名稱添加到jss中的CSS? 喜歡的東西過境其中有很多新的特性(持續時間,完成等) $Ø我需要一些這樣的:jQuery的添加新的屬性,以CSS功能

var css_class ={ 
    class1 : {height:100,background:'#000'}, 
    //class2 ... etc 
} 
var my_property = function(value){ 
    $(this).css(css_class.value); 
} 

$('#element').css({ 
    width: '100px', 
    my_property: 'class1' 
}); 
//expected ... #element have width 100 also height and backround from class1 
//I know it can be solved with a plugin like : 
// .css(...).my_plpugin('my_property') but I dont want this 

謝謝。

編輯:因爲更多的人回答我嘗試用這個?我在示例中添加了更多細節。 也許mi示例不正確或者可以用其他方式解決(毫無疑問),但最明確的問題是:transit插件(例如)如何也具有其他屬性? (除了那些CSS)什麼是這樣做的機制(方式)? 謝謝。 jQuery的源

+0

爲什麼不' .each(function(){})'? – Dimava

+3

你究竟想要做什麼? –

+0

我明白你說的話,這是對的,但我需要嚴格的例子,而不是解決這個問題的方式。所以我需要CSS內的屬性名稱。 – MTK

回答

0

最後我加入一個條件是不是一個專業的解決方案,但它的工作:

//I found this line in jquery source 
//style: function(elem, name, value, extra) { 

//I added here mi condition 
if(name[0] == '.'){ 
    var my_class_name = name.substr(1); 
    $(elem).css(css_class[my_class_name]); 
} 

所以現在英里的js代碼,我可以這樣寫:

$('#element').css({ 
    width: '100px', 
    '.class1': '', //the empty value for not throw errors 
    //... more css here ... 
}); 
//now the #element have width 100px, height 100px and a black background