当我在下面这样做时,它不起作用!!能帮到我,为什么会这样呢?
var propertyName = 'left';
var propertyVal = $("body").width();
$('nav').css({ propertyName: propertyVal , 'position': 'absolute'});
答案 0 :(得分:2)
问题是因为您不能使用您拥有的语法将变量用作对象中属性的名称。相反,您需要使用括号表示法来定义该属性及其值。试试这个:
var cssSettings = { 'position': 'absolute' };
cssSettings[dynCssProperty] = widthMenu;
$('nav').css(cssSettings);
或者,您可以对css()
方法进行两次调用,分别设置每个属性:
$('.nav').css('postion', 'absolute').css(dynCssProperty, widthMenu);
答案 1 :(得分:1)
相反,你可以这样做:
$('nav').css(propertyName, propertyVal)
.css('position', 'absolute');
您还可以使用array
表示法添加:
cssProperties[propertyName] = propertyVal