可以将变量用作值:
$("#anything").css({
"top": value
});
但如果我尝试相反的话:
toporbottom = "top";
$("anything").css({
toporbottom: "50px"
});
它不起作用。有优雅的解决方案吗?
答案 0 :(得分:1)
在您的情况下,您不需要对象,因为您只设置了一个属性。使用:
$(...).css(toporbottom, "50px");
如果你想要一个对象,你必须先制作一个空对象,然后使用[...]
表示法设置属性,然后传递obj
。但这绝对有点过分了:
var obj = {};
obj[toporbottom] = "50px"; // `obj["top"]` is the same as `obj.top`
$(...).css(obj);
答案 1 :(得分:1)
在这种情况下,您可以使用名称和值作为单独的参数调用css
:
toporbottom = "top";
$("anything").css(toporbottom, "50px");
答案 2 :(得分:1)
当然可以。使用备用.css
语法。
$(document).ready(function(){
var topOrBottom = "top";
$("#changeme").css(topOrBottom, 200);
});
答案 3 :(得分:1)
对象文字不支持变量作为键。密钥应始终保持不变。但是,您可以使用[]
设置属性。
toporbottom = "top";
var obj = {};
obj[toporbottom] = "50px"; // Line of interest
$("anything").css(obj);