2016-06-22 5 views
0

Есть ли способ добавить новое имя свойства в css в jquery? Что-то вроде транзита, которые имеют много новых свойств (продолжительность, полная и т.д.) $ O Мне нужны некоторые, как это: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 

Спасибо.

EDITED: Потому что больше людей отвечают на мои попытки? В этом примере я добавил дополнительные сведения. Возможно, пример mi неправильный или может быть разрешен другим способом (без сомнения), но самый ясный вопрос: как у транзитного плагина (например) есть и другие свойства? (кроме тех, что указаны в css), каков механизм (способ) для этого? Спасибо.

+0

Почему не ' .each (function() {}) '? – Dimava

+3

Что именно вы пытаетесь сделать? –

+0

Я понимаю, что вы говорите, и это правильно, но мне нужно строгое, как в примере, а не способ, чтобы решить эту проблему. Поэтому мне нужно имя свойства внутри css. – MTK

ответ

0

, наконец, я добавил один состояние источника Jquery не является профессиональным решением, но это работает:

//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]); 
} 

Так что теперь в mı расслоение плотной код я могу написать так:

$('#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 
Смежные вопросы