我们如何使用三元运算符更改propertyName / s?
例如:
var horizontal = false,
propertyName = horizontal ? 'left' : 'top';
$(".elem").css({
propertyName: value
});
我找到了一些答案,但它们不适合我的情况。
https://stackoverflow.com/a/5973518/1250044
https://stackoverflow.com/a/12228404/1250044
Praveen Kumar找到了可能性。但仍然没有最终决定!
好吧,我认为最好的答案是,爆炸药Explosion Pills说:
var horizontal = false;
$(".elem").css(horizontal ? {
left: 10
} : {
top: 10
});
直播为Fiddle。
答案 0 :(得分:4)
相反,你可以这样直接给它:
elem.css((horizontal ? 'left' : 'top'), value);
答案 1 :(得分:1)
您不能直接将变量值作为objectproperty的标识符移交,但您可以执行以下操作:
var value = "15px";
var horizontal = true;
var propertyName = horizontal ? 'left' : 'top';
var parameters = {};
parameters[propertyName] = value;
elem.css(parameters);
在this fiddle中查看。