Переменные jQuery в качестве ключа в ключе: пара атрибутов CSS - PullRequest
2 голосов
/ 17 сентября 2009

Можно ли взять что-то вроде:

$("div").css({
    "top": var1,
    "height": var2,
     etc.
});

И превратить его в:

var dir = "top";
var length = "height";

$("div").css({
    dir: var1,
    length: var2,
     etc.
});

Пока что единственный способ заставить его работать - это неоднократно объявлять строки отдельно, например:

$("div").css(dir, var1);
$("div").css(length, var2);
$("div").css(etc.);

У кого-нибудь есть другие идеи? Причина, по которой я беспокоюсь об этом, заключается в том, что я хотел бы иметь возможность перевернуть мой модуль на 90 градусов (иначе, он должен идти слева направо или сверху вниз), и для этого мне понадобится универсальный переменная для направления.

Ответы [ 2 ]

10 голосов
/ 17 сентября 2009

{ "top": var1, "height": var2 } создает объект JavaScript, который имеет два пользовательских свойства. К сожалению, JavaScript не позволяет использовать переменные в качестве имен свойств при определении объекта таким способом.

Вы должны быть в состоянии сделать это так:

var o = {};
o[dir] = var1;
o[length] = var2;
$("div").css(o);
1 голос
/ 17 сентября 2009

Попробуйте это ...

var myCss = {};
myCss[dir] = var1;
$("div").css(myCss);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...