2012-03-10 4 views

ответ

1

В вашем случае вам не нужен объект, потому что вы устанавливаете только одно свойство. Использование:

$(...).css(toporbottom, "50px"); 

Если вы хотите объект, вы должны сделать пустой один первый, а затем установить свойство используя [...] обозначения, и передать obj. Но это, безусловно, избыточна здесь:

var obj = {}; 
obj[toporbottom] = "50px"; // `obj["top"]` is the same as `obj.top` 
$(...).css(obj); 
+0

Это работает лучше всего потому, что я также могу использовать его с .animate()! Благодаря! – user1261488

1

В этом случае, вы можете вызвать css, используя имя и значение, как отдельные аргументы:

toporbottom = "top"; 
$("anything").css(toporbottom, "50px"); 
1

Конечно, это. Используйте альтернативный синтаксис .css.

$(document).ready(function(){ 
    var topOrBottom = "top"; 

    $("#changeme").css(topOrBottom, 200); 
}); 
1

Объект literal не поддерживает переменную как ключ. Ключ должен всегда быть постоянным. Однако вы можете использовать [] для установки свойства.

toporbottom = "top"; 
var obj = {}; 
obj[toporbottom] = "50px"; // Line of interest 
$("anything").css(obj); 
Смежные вопросы